Micron Document
<!DOCTYPE html>
<html class="client-nojs vector-feature-night-mode-disabled vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-sticky-header-enabled" lang="en" dir="ltr"><head>
<meta charset="UTF-8">
<title>Eigenvalue algorithm</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="canonical" href="https://en.wikipedia.org/wiki/Eigenvalue_algorithm"> <link href="./mw/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/ext.math.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/ext.pygments.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/user.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link rel="stylesheet" type="text/css" href="./mw/site.styles.css">
<link rel="stylesheet" type="text/css" href="./mw/noscript.css">
<link rel="stylesheet" type="text/css" href="./footer.css">
<link rel="stylesheet" type="text/css" href="./vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Eigenvalue_algorithm rootpage-Eigenvalue_algorithm skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading">
<span id="openzim-page-title" class="mw-page-title-main"><span class="mw-page-title-main">Eigenvalue algorithm</span></span>
</h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="en" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr">
<p>In <a href="Numerical_analysis" title="Numerical analysis">numerical analysis</a>, one of the most important problems is designing efficient and <a href="Numerical_stability" title="Numerical stability">stable</a> <a href="Algorithm" title="Algorithm">algorithms</a> for finding the <a href="Eigenvalue" class="mw-redirect" title="Eigenvalue">eigenvalues</a> of a <a href="Matrix_(mathematics)" title="Matrix (mathematics)">matrix</a>. These <b>eigenvalue algorithms</b> may also find eigenvectors.
</p>
<meta property="mw:PageProp/toc">
<div class="mw-heading mw-heading2"><h2 id="Eigenvalues_and_eigenvectors">Eigenvalues and eigenvectors</h2></div>
<style data-mw-deduplicate="TemplateStyles:r1236090951">
/* start https://en.wikipedia.org/ */


.mw-parser-output .hatnote{font-style:italic}.mw-parser-output div.hatnote{padding-left:1.6em;margin-bottom:0.5em}.mw-parser-output .hatnote i{font-style:normal}.mw-parser-output .hatnote+link+.hatnote{margin-top:-0.5em}@media print{body.ns-0 .mw-parser-output .hatnote{display:none!important}}


/* end https://en.wikipedia.org/ */
</style><div role="note" class="hatnote navigation-not-searchable">Main articles: <a href="Eigenvalues_and_eigenvectors" title="Eigenvalues and eigenvectors">Eigenvalues and eigenvectors</a> and <a href="Generalized_eigenvector" title="Generalized eigenvector">Generalized eigenvector</a></div>
<p>Given an <span class="texhtml"><i>n</i> × <i>n</i></span> <a href="Square_matrix#Square_matrices" title="Square matrix">square matrix</a> <span class="texhtml"><i>A</i></span> of <a href="Real_number" title="Real number">real</a> or <a href="Complex_number" title="Complex number">complex</a> numbers, an <i><a href="Eigenvalue" class="mw-redirect" title="Eigenvalue">eigenvalue</a></i> <span class="texhtml"><i>λ</i></span> and its associated <i><a href="Generalized_eigenvector" title="Generalized eigenvector">generalized eigenvector</a></i> <span class="texhtml"><b>v</b></span> are a pair obeying the relation<sup id="cite_ref-Axler_1-0" class="reference"><a href="#cite_note-Axler-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup>
</p>
<dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \left(A-\lambda I\right)^{k}{\mathbf {v} }=0,}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msup>
<mrow>
<mo>(</mo>
<mrow>
<mi>A</mi>
<mo>−<!-- − --></mo>
<mi>λ<!-- λ --></mi>
<mi>I</mi>
</mrow>
<mo>)</mo>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
</mrow>
</msup>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">v</mi>
</mrow>
</mrow>
<mo>=</mo>
<mn>0</mn>
<mo>,</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \left(A-\lambda I\right)^{k}{\mathbf {v} }=0,}</annotation>
</semantics>
</math></span><img src="./db2b2fa8736bae90d569070f74a211bcb2ee5e88.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:16.327ex; height:3.343ex;" alt="{\displaystyle \left(A-\lambda I\right)^{k}{\mathbf {v} }=0,}" loading="lazy"></span></dd></dl>
<p>where <span class="texhtml"><b>v</b></span> is a nonzero <span class="texhtml"><i>n</i> × 1</span> column vector, <span class="texhtml"><i>I</i></span> is the <span class="texhtml"><i>n</i> × <i>n</i></span> <a href="Identity_matrix" title="Identity matrix">identity matrix</a>, <span class="texhtml"><i>k</i></span> is a positive integer, and both <span class="texhtml"><i>λ</i></span> and <span class="texhtml"><b>v</b></span> are allowed to be complex even when <span class="texhtml"><i>A</i></span> is real. When <span class="texhtml"><i>k</i> = 1</span>, the vector is called simply an <i><a href="Eigenvector" class="mw-redirect" title="Eigenvector">eigenvector</a></i>, and the pair is called an <i>eigenpair</i>. In this case, <span class="texhtml"><i>A</i><b>v</b> = <i>λ</i><b>v</b></span>. Any eigenvalue <span class="texhtml"><i>λ</i></span> of <span class="texhtml"><i>A</i></span> has ordinary<sup id="cite_ref-2" class="reference"><a href="#cite_note-2"><span class="cite-bracket">[</span>note 1<span class="cite-bracket">]</span></a></sup> eigenvectors associated to it, for if <span class="texhtml"><i>k</i></span> is the smallest integer such that <span class="texhtml">(<i>A</i> − <i>λI</i>)<sup><i>k</i></sup> <b>v</b> = 0</span> for a generalized eigenvector <span class="texhtml"><b>v</b></span>, then <span class="texhtml">(<i>A</i> − <i>λI</i>)<sup><i>k</i>−1</sup> <b>v</b></span> is an ordinary eigenvector. The value <span class="texhtml"><i>k</i></span> can always be taken as less than or equal to <span class="texhtml"><i>n</i></span>. In particular, <span class="texhtml">(<i>A</i> − <i>λI</i>)<sup><i>n</i></sup> <b>v</b> = 0</span> for all generalized eigenvectors <span class="texhtml"><b>v</b></span> associated with <span class="texhtml"><i>λ</i></span>.
</p><p>For each eigenvalue <span class="texhtml">λ</span> of <span class="texhtml"><i>A</i></span>, the <a href="Kernel_(matrix)" class="mw-redirect" title="Kernel (matrix)">kernel</a> <span class="texhtml">ker(<i>A</i> − <i>λI</i>)</span> consists of all eigenvectors associated with <span class="texhtml"><i>λ</i></span> (along with 0), called the <i><a href="Eigenspace" class="mw-redirect" title="Eigenspace">eigenspace</a></i> of <span class="texhtml"><i>λ</i></span>, while the vector space <span class="texhtml">ker((<i>A</i> − <i>λI</i>)<sup><i>n</i></sup>)</span> consists of all generalized eigenvectors, and is called the <i><a href="Generalized_eigenspace" class="mw-redirect" title="Generalized eigenspace">generalized eigenspace</a></i>. The <i><a href="Geometric_multiplicity" class="mw-redirect" title="Geometric multiplicity">geometric multiplicity</a></i> of <span class="texhtml"><i>λ</i></span> is the dimension of its eigenspace. The <i><a href="Algebraic_multiplicity" class="mw-redirect" title="Algebraic multiplicity">algebraic multiplicity</a></i> of <span class="texhtml"><i>λ</i></span> is the dimension of its generalized eigenspace. The latter terminology is justified by the equation
</p>
<dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle p_{A}\left(z\right)=\det \left(zI-A\right)=\prod _{i=1}^{k}(z-\lambda _{i})^{\alpha _{i}},}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mi>p</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>A</mi>
</mrow>
</msub>
<mrow>
<mo>(</mo>
<mi>z</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mo movablelimits="true" form="prefix">det</mo>
<mrow>
<mo>(</mo>
<mrow>
<mi>z</mi>
<mi>I</mi>
<mo>−<!-- − --></mo>
<mi>A</mi>
</mrow>
<mo>)</mo>
</mrow>
<mo>=</mo>
<munderover>
<mo>∏<!-- ∏ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mi>i</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
</mrow>
</munderover>
<mo stretchy="false">(</mo>
<mi>z</mi>
<mo>−<!-- − --></mo>
<msub>
<mi>λ<!-- λ --></mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>i</mi>
</mrow>
</msub>
<msup>
<mo stretchy="false">)</mo>
<mrow class="MJX-TeXAtom-ORD">
<msub>
<mi>α<!-- α --></mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>i</mi>
</mrow>
</msub>
</mrow>
</msup>
<mo>,</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle p_{A}\left(z\right)=\det \left(zI-A\right)=\prod _{i=1}^{k}(z-\lambda _{i})^{\alpha _{i}},}</annotation>
</semantics>
</math></span><img src="./a4e9a634ea29a25b222a8a007842d4e70165f3c9.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -3.005ex; margin-left: -0.089ex; width:37.893ex; height:7.343ex;" alt="{\displaystyle p_{A}\left(z\right)=\det \left(zI-A\right)=\prod _{i=1}^{k}(z-\lambda _{i})^{\alpha _{i}},}" loading="lazy"></span></dd></dl>
<p>where <span class="texhtml">det</span> is the <a href="Determinant" title="Determinant">determinant</a> function, the <span class="texhtml"><i>λ</i><sub><i>i</i></sub></span> are all the distinct eigenvalues of <span class="texhtml"><i>A</i></span> and the <span class="texhtml"><i>α</i><sub><i>i</i></sub></span> are the corresponding algebraic multiplicities. The function <span class="texhtml"><i>p<sub>A</sub></i>(<i>z</i>)</span> is the <i><a href="Characteristic_polynomial" title="Characteristic polynomial">characteristic polynomial</a></i> of <span class="texhtml"><i>A</i></span>. So the algebraic multiplicity is the multiplicity of the eigenvalue as a <a href="Properties_of_polynomial_roots" class="mw-redirect" title="Properties of polynomial roots">zero</a> of the characteristic polynomial. Since any eigenvector is also a generalized eigenvector, the geometric multiplicity is less than or equal to the algebraic multiplicity. The algebraic multiplicities sum up to <span class="texhtml"><i>n</i></span>, the degree of the characteristic polynomial. The equation <span class="texhtml"><i>p<sub>A</sub></i>(<i>z</i>) = 0</span> is called the <i>characteristic equation</i>, as its roots are exactly the eigenvalues of <span class="texhtml"><i>A</i></span>. By the <a href="Cayley%E2%80%93Hamilton_theorem" title="Cayley–Hamilton theorem">Cayley–Hamilton theorem</a>, <span class="texhtml"><i>A</i></span> itself obeys the same equation: <span class="texhtml"><i>p<sub>A</sub></i>(<i>A</i>) = 0</span>.<sup id="cite_ref-3" class="reference"><a href="#cite_note-3"><span class="cite-bracket">[</span>note 2<span class="cite-bracket">]</span></a></sup> As a consequence, the columns of the matrix <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\textstyle \prod _{i\neq j}(A-\lambda _{i}I)^{\alpha _{i}}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="false" scriptlevel="0">
<munder>
<mo>∏<!-- ∏ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mi>i</mi>
<mo>≠<!-- ≠ --></mo>
<mi>j</mi>
</mrow>
</munder>
<mo stretchy="false">(</mo>
<mi>A</mi>
<mo>−<!-- − --></mo>
<msub>
<mi>λ<!-- λ --></mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>i</mi>
</mrow>
</msub>
<mi>I</mi>
<msup>
<mo stretchy="false">)</mo>
<mrow class="MJX-TeXAtom-ORD">
<msub>
<mi>α<!-- α --></mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>i</mi>
</mrow>
</msub>
</mrow>
</msup>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\textstyle \prod _{i\neq j}(A-\lambda _{i}I)^{\alpha _{i}}}</annotation>
</semantics>
</math></span><img src="./c4a9f3f2ea9a8f983e0c8a871627deeb12853951.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.338ex; width:16.578ex; height:3.343ex;" alt="{\textstyle \prod _{i\neq j}(A-\lambda _{i}I)^{\alpha _{i}}}" loading="lazy"></span> must be either 0 or generalized eigenvectors of the eigenvalue <span class="texhtml"><i>λ</i><sub><i>j</i></sub></span>, since they are annihilated by <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle (A-\lambda _{j}I)^{\alpha _{j}}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mo stretchy="false">(</mo>
<mi>A</mi>
<mo>−<!-- − --></mo>
<msub>
<mi>λ<!-- λ --></mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
</mrow>
</msub>
<mi>I</mi>
<msup>
<mo stretchy="false">)</mo>
<mrow class="MJX-TeXAtom-ORD">
<msub>
<mi>α<!-- α --></mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
</mrow>
</msub>
</mrow>
</msup>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle (A-\lambda _{j}I)^{\alpha _{j}}}</annotation>
</semantics>
</math></span><img src="./dcbba629e5b5ad7d45e1ac823a921fc8beeaf772.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:11.828ex; height:3.009ex;" alt="{\displaystyle (A-\lambda _{j}I)^{\alpha _{j}}}" loading="lazy"></span>. In fact, the <a href="Column_space" class="mw-redirect" title="Column space">column space</a> is the generalized eigenspace of <span class="texhtml"><i>λ</i><sub><i>j</i></sub></span>.
</p><p>Any collection of generalized eigenvectors of distinct eigenvalues is linearly independent, so a basis for all of <span class="texhtml"><b>C</b><sup><i>n</i></sup></span> can be chosen consisting of generalized eigenvectors. More particularly, this basis <span class="texhtml">{<b>v</b><sub><i>i</i></sub>}<span class="nowrap"><span style="display:inline-block;margin-bottom:-0.3em;vertical-align:-0.4em;line-height:1.2em;font-size:80%;text-align:left"><sup style="font-size:inherit;line-height:inherit;vertical-align:baseline"><i>n</i></sup><br><sub style="font-size:inherit;line-height:inherit;vertical-align:baseline"><i>i</i>=1</sub></span></span></span> can be chosen and organized so that
</p>
<ul><li>if <span class="texhtml"><b>v</b><sub><i>i</i></sub></span> and <span class="texhtml"><b>v</b><sub><i>j</i></sub></span> have the same eigenvalue, then so does <span class="texhtml"><b>v</b><sub><i>k</i></sub></span> for each <span class="texhtml"><i>k</i></span> between <span class="texhtml"><i>i</i></span> and <span class="texhtml"><i>j</i></span>, and</li>
<li>if <span class="texhtml"><b>v</b><sub><i>i</i></sub></span> is not an ordinary eigenvector, and if <span class="texhtml"><i>λ</i><sub><i>i</i></sub></span> is its eigenvalue, then <span class="texhtml">(<i>A</i> − <i>λ</i><sub><i>i</i></sub><i>I</i>)<b>v</b><sub><i>i</i></sub> = <b>v</b><sub><i>i</i>−1</sub></span> (in particular, <span class="texhtml"><b>v</b><sub>1</sub></span> must be an ordinary eigenvector).</li></ul>
<p>If these basis vectors are placed as the column vectors of a matrix <span class="texhtml"><i>V</i> = [<b>v</b><sub>1</sub> <b>v</b><sub>2</sub> ⋯ <b>v</b><sub><i>n</i></sub>]</span>, then <span class="texhtml"><i>V</i></span> can be used to convert <span class="texhtml"><i>A</i></span> to its <a href="Jordan_normal_form" title="Jordan normal form">Jordan normal form</a>:
</p>
<dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle V^{-1}AV={\begin{bmatrix}\lambda _{1}&amp;\beta _{1}&amp;0&amp;\ldots &amp;0\\0&amp;\lambda _{2}&amp;\beta _{2}&amp;\ldots &amp;0\\0&amp;0&amp;\lambda _{3}&amp;\ldots &amp;0\\\vdots &amp;\vdots &amp;\vdots &amp;\ddots &amp;\vdots \\0&amp;0&amp;0&amp;\ldots &amp;\lambda _{n}\end{bmatrix}},}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msup>
<mi>V</mi>
<mrow class="MJX-TeXAtom-ORD">
<mo>−<!-- − --></mo>
<mn>1</mn>
</mrow>
</msup>
<mi>A</mi>
<mi>V</mi>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
<mrow>
<mo>[</mo>
<mtable rowspacing="4pt" columnspacing="1em">
<mtr>
<mtd>
<msub>
<mi>λ<!-- λ --></mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
</mrow>
</msub>
</mtd>
<mtd>
<msub>
<mi>β<!-- β --></mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
</mrow>
</msub>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mo>…<!-- … --></mo>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
</mtr>
<mtr>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<msub>
<mi>λ<!-- λ --></mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msub>
</mtd>
<mtd>
<msub>
<mi>β<!-- β --></mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msub>
</mtd>
<mtd>
<mo>…<!-- … --></mo>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
</mtr>
<mtr>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<msub>
<mi>λ<!-- λ --></mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>3</mn>
</mrow>
</msub>
</mtd>
<mtd>
<mo>…<!-- … --></mo>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>⋮<!-- ⋮ --></mo>
</mtd>
<mtd>
<mo>⋮<!-- ⋮ --></mo>
</mtd>
<mtd>
<mo>⋮<!-- ⋮ --></mo>
</mtd>
<mtd>
<mo>⋱<!-- ⋱ --></mo>
</mtd>
<mtd>
<mo>⋮<!-- ⋮ --></mo>
</mtd>
</mtr>
<mtr>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mo>…<!-- … --></mo>
</mtd>
<mtd>
<msub>
<mi>λ<!-- λ --></mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>n</mi>
</mrow>
</msub>
</mtd>
</mtr>
</mtable>
<mo>]</mo>
</mrow>
</mrow>
<mo>,</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle V^{-1}AV={\begin{bmatrix}\lambda _{1}&amp;\beta _{1}&amp;0&amp;\ldots &amp;0\\0&amp;\lambda _{2}&amp;\beta _{2}&amp;\ldots &amp;0\\0&amp;0&amp;\lambda _{3}&amp;\ldots &amp;0\\\vdots &amp;\vdots &amp;\vdots &amp;\ddots &amp;\vdots \\0&amp;0&amp;0&amp;\ldots &amp;\lambda _{n}\end{bmatrix}},}</annotation>
</semantics>
</math></span><img src="./ac32f6dfdb20a67f859d9d83cac359c105b0f06d.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -8.171ex; width:37.449ex; height:17.509ex;" alt="{\displaystyle V^{-1}AV={\begin{bmatrix}\lambda _{1}&amp;\beta _{1}&amp;0&amp;\ldots &amp;0\\0&amp;\lambda _{2}&amp;\beta _{2}&amp;\ldots &amp;0\\0&amp;0&amp;\lambda _{3}&amp;\ldots &amp;0\\\vdots &amp;\vdots &amp;\vdots &amp;\ddots &amp;\vdots \\0&amp;0&amp;0&amp;\ldots &amp;\lambda _{n}\end{bmatrix}},}" loading="lazy"></span></dd></dl>
<p>where the <span class="texhtml"><i>λ</i><sub><i>i</i></sub></span> are the eigenvalues, <span class="texhtml"><i>β</i><sub><i>i</i></sub> = 1</span> if <span class="texhtml">(<i>A</i> − <i>λ</i><sub><i>i</i>+1</sub>)<b>v</b><sub><i>i</i>+1</sub> = <b>v</b><sub><i>i</i></sub></span> and <span class="texhtml"><i>β</i><sub><i>i</i></sub> = 0</span> otherwise.
</p><p>More generally, if <span class="texhtml"><i>W</i></span> is any invertible matrix, and <span class="texhtml"><i>λ</i></span> is an eigenvalue of <span class="texhtml"><i>A</i></span> with generalized eigenvector <span class="texhtml"><b>v</b></span>, then <span class="texhtml">(<i>W</i><span style="padding-left:0.12em;"><sup>−1</sup></span><i>AW</i> − <i>λI</i>)<sup><i>k</i></sup> <i>W</i><span style="padding-left:0.12em;"><sup>−<i>k</i></sup></span><b>v</b> = 0</span>. Thus <span class="texhtml"><i>λ</i></span> is an eigenvalue of <span class="texhtml"><i>W</i><span style="padding-left:0.12em;"><sup>−1</sup></span><i>AW</i></span> with generalized eigenvector <span class="texhtml"><i>W</i><span style="padding-left:0.12em;"><sup>−<i>k</i></sup></span><b>v</b></span>. That is, <a href="Similar_matrices" class="mw-redirect" title="Similar matrices">similar matrices</a> have the same eigenvalues.
</p>
<div class="mw-heading mw-heading3"><h3 id="Normal,_Hermitian,_and_real-symmetric_matrices">Normal, Hermitian, and real-symmetric matrices</h3></div>
<div role="note" class="hatnote navigation-not-searchable">Main articles: <a href="Adjoint_matrix" class="mw-redirect" title="Adjoint matrix">Adjoint matrix</a>, <a href="Normal_matrix" title="Normal matrix">Normal matrix</a>, and <a href="Hermitian_matrix" title="Hermitian matrix">Hermitian matrix</a></div>
<p>The <a href="Conjugate_transpose" title="Conjugate transpose">adjoint</a> <span class="texhtml"><i>M</i><sup>*</sup></span> of a complex matrix <span class="texhtml"><i>M</i></span> is the transpose of the conjugate of <span class="texhtml"><i>M</i></span>: <span class="texhtml"><i>M</i> <sup>*</sup> = <span style="text-decoration:overline;"><i>M</i></span> <sup>T</sup></span>. A square matrix <span class="texhtml"><i>A</i></span> is called <i><a href="Normal_matrix" title="Normal matrix">normal</a></i> if it commutes with its adjoint: <span class="texhtml"><i>A</i><sup>*</sup><i>A</i> = <i>AA</i><sup>*</sup></span>. It is called <i><a href="Hermitian_matrix" title="Hermitian matrix">Hermitian</a></i> if it is equal to its adjoint: <span class="texhtml"><i>A</i><sup>*</sup> = <i>A</i></span>. All Hermitian matrices are normal. If <span class="texhtml"><i>A</i></span> has only real elements, then the adjoint is just the transpose, and <span class="texhtml"><i>A</i></span> is Hermitian if and only if it is <a href="Symmetric_matrix" title="Symmetric matrix">symmetric</a>. When applied to column vectors, the adjoint can be used to define the canonical inner product on <span class="texhtml"><b>C</b><sup><i>n</i></sup></span>: <span class="texhtml"><b>w</b> ⋅ <b>v</b> = <b>w</b><sup>*</sup> <b>v</b></span>.<sup id="cite_ref-4" class="reference"><a href="#cite_note-4"><span class="cite-bracket">[</span>note 3<span class="cite-bracket">]</span></a></sup> Normal, Hermitian, and real-symmetric matrices have several useful properties:
</p>
<ul><li>Every generalized eigenvector of a normal matrix is an ordinary eigenvector.</li>
<li>Any normal matrix is similar to a diagonal matrix, since its Jordan normal form is diagonal.</li>
<li>Eigenvectors of distinct eigenvalues of a normal matrix are orthogonal.</li>
<li>The null space and the image (or column space) of a normal matrix are orthogonal to each other.</li>
<li>For any normal matrix <span class="texhtml"><i>A</i></span>, <span class="texhtml"><b>C</b><sup><i>n</i></sup></span> has an orthonormal basis consisting of eigenvectors of <span class="texhtml"><i>A</i></span>. The corresponding matrix of eigenvectors is <a href="Unitary_matrix" title="Unitary matrix">unitary</a>.</li>
<li>The eigenvalues of a Hermitian matrix are real, since <span class="texhtml">(<span style="text-decoration:overline;"><i>λ</i></span> − <i>λ</i>)<b>v</b> = (<i>A</i><sup>*</sup> − <i>A</i>)<b>v</b> = (<i>A</i> − <i>A</i>)<b>v</b> = 0</span> for a non-zero eigenvector <span class="texhtml"><b>v</b></span>.</li>
<li>If <span class="texhtml"><i>A</i></span> is real, there is an orthonormal basis for <span class="texhtml"><b>R</b><sup><i>n</i></sup></span> consisting of eigenvectors of <span class="texhtml"><i>A</i></span> if and only if <span class="texhtml"><i>A</i></span> is symmetric.</li></ul>
<p>It is possible for a real or complex matrix to have all real eigenvalues without being Hermitian. For example, a real <a href="Triangular_matrix" title="Triangular matrix">triangular matrix</a> has its eigenvalues along its diagonal, but in general is not symmetric.
</p>
<div class="mw-heading mw-heading2"><h2 id="Condition_number">Condition number</h2></div>
<p>Any problem of numeric calculation can be viewed as the evaluation of some function <span class="texhtml"><i>f</i></span> for some input <span class="texhtml"><i>x</i></span>. The <a href="Condition_number" title="Condition number">condition number</a> <span class="texhtml"><i>κ</i>(<i>f</i>, <i>x</i>)</span> of the problem is the ratio of the relative error in the function's output to the relative error in the input, and varies with both the function and the input. The condition number describes how error grows during the calculation. Its base-10 logarithm tells how many fewer digits of accuracy exist in the result than existed in the input. The condition number is a best-case scenario. It reflects the instability built into the problem, regardless of how it is solved. No algorithm can ever produce more accurate results than indicated by the condition number, except by chance. However, a poorly designed algorithm may produce significantly worse results. For example, as mentioned below, the problem of finding eigenvalues for normal matrices is always well-conditioned. However, the problem of finding the roots of a polynomial can be <a href="Wilkinson's_polynomial" title="Wilkinson's polynomial">very ill-conditioned</a>. Thus eigenvalue algorithms that work by finding the roots of the characteristic polynomial can be ill-conditioned even when the problem is not.
</p><p>For the problem of solving the linear equation <span class="texhtml"><i>A</i><b>v</b> = <b>b</b></span> where <span class="texhtml"><i>A</i></span> is invertible, the <a href="Condition_number#Matrices" title="Condition number">matrix condition number</a> <span class="texhtml"><i>κ</i>(<i>A</i><sup>−1</sup>, <b>b</b>)</span> is given by <span class="texhtml">||<i>A</i>||<sub>op</sub>||<i>A</i><sup>−1</sup>||<sub>op</sub></span>, where <span class="nowrap">|| ||<sub>op</sub></span> is the <a href="Operator_norm" title="Operator norm">operator norm</a> subordinate to the normal <a href="Norm_(mathematics)#Euclidean_norm" title="Norm (mathematics)">Euclidean norm</a> on <span class="texhtml"><b>C</b><sup><i>n</i></sup></span>. Since this number is independent of <span class="texhtml"><b>b</b></span> and is the same for <span class="texhtml"><i>A</i></span> and <span class="texhtml"><i>A</i><sup>−1</sup></span>, it is usually just called the condition number <span class="texhtml"><i>κ</i>(<i>A</i>)</span> of the matrix <span class="texhtml"><i>A</i></span>. This value <span class="texhtml"><i>κ</i>(<i>A</i>)</span> is also the absolute value of the ratio of the largest <a href="Singular_value" title="Singular value">singular value</a> of <span class="texhtml"><i>A</i></span> to its smallest. If <span class="texhtml"><i>A</i></span> is <a href="Unitary_matrix" title="Unitary matrix">unitary</a>, then <span class="texhtml">||<i>A</i>||<sub>op</sub> = ||<i>A</i><sup>−1</sup>||<sub>op</sub> = 1</span>, so <span class="texhtml"><i>κ</i>(<i>A</i>) = 1</span>. For general matrices, the operator norm is often difficult to calculate. For this reason, other <a href="Matrix_norms" class="mw-redirect" title="Matrix norms">matrix norms</a> are commonly used to estimate the condition number.
</p><p>For the eigenvalue problem, <a href="Bauer%E2%80%93Fike_theorem" title="Bauer–Fike theorem">Bauer and Fike proved</a> that if <span class="texhtml"><i>λ</i></span> is an eigenvalue for a <a href="Diagonalizable_matrix" title="Diagonalizable matrix">diagonalizable</a> <span class="texhtml"><i>n</i> × <i>n</i></span> matrix <span class="texhtml"><i>A</i></span> with <a href="Eigenvector_matrix" class="mw-redirect" title="Eigenvector matrix">eigenvector matrix</a> <span class="texhtml"><i>V</i></span>, then the absolute error in calculating <span class="texhtml"><i>λ</i></span> is bounded by the product of <span class="texhtml"><i>κ</i>(<i>V</i>)</span> and the absolute error in <span class="texhtml"><i>A</i></span>.<sup id="cite_ref-5" class="reference"><a href="#cite_note-5"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup> <a href="Bauer-Fike_theorem" class="mw-redirect" title="Bauer-Fike theorem">As a result</a>, the condition number for finding <span class="texhtml"><i>λ</i></span> is <span class="texhtml"><i>κ</i>(<i>λ</i>, <i>A</i>) = <i>κ</i>(<i>V</i>) = ||<i>V</i> ||<sub>op</sub> ||<i>V</i> <sup>−1</sup>||<sub>op</sub></span>. If <span class="texhtml"><i>A</i></span> is normal, then <span class="texhtml"><i>V</i></span> is unitary, and <span class="texhtml"><i>κ</i>(<i>λ</i>, <i>A</i>) = 1</span>. Thus the eigenvalue problem for all normal matrices is well-conditioned.
</p><p>The condition number for the problem of finding the eigenspace of a normal matrix <span class="texhtml"><i>A</i></span> corresponding to an eigenvalue <span class="texhtml"><i>λ</i></span> has been shown to be inversely proportional to the minimum distance between <span class="texhtml"><i>λ</i></span> and the other distinct eigenvalues of <span class="texhtml"><i>A</i></span>.<sup id="cite_ref-6" class="reference"><a href="#cite_note-6"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup> In particular, the eigenspace problem for normal matrices is well-conditioned for isolated eigenvalues. When eigenvalues are not isolated, the best that can be hoped for is to identify the span of all eigenvectors of nearby eigenvalues.
</p>
<div class="mw-heading mw-heading2"><h2 id="Algorithms">Algorithms</h2></div>
<p>The most reliable and most widely used algorithm for computing eigenvalues is <a href="John_G._F._Francis" title="John G. F. Francis">John G. F. Francis</a>' and <a href="Vera_N._Kublanovskaya" class="mw-redirect" title="Vera N. Kublanovskaya">Vera N. Kublanovskaya</a>'s <a href="QR_algorithm" title="QR algorithm">QR algorithm</a>, considered one of the top ten algorithms of 20th century.<sup id="cite_ref-t10_7-0" class="reference"><a href="#cite_note-t10-7"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup>
</p><p>Any monic polynomial is the characteristic polynomial of its <a href="Companion_matrix" title="Companion matrix">companion matrix</a>. Therefore, a general algorithm for finding eigenvalues could also be used to find the roots of polynomials. The <a href="Abel%E2%80%93Ruffini_theorem" title="Abel–Ruffini theorem">Abel–Ruffini theorem</a> shows that any such algorithm for dimensions greater than 4 must either be infinite, or involve functions of greater complexity than elementary arithmetic operations and fractional powers. For this reason algorithms that exactly calculate eigenvalues in a finite number of steps only exist for a few special classes of matrices. For general matrices, algorithms are <a href="Iterative_method" title="Iterative method">iterative</a>, producing better approximate solutions with each iteration.
</p><p>Some algorithms produce every eigenvalue, others will produce a few, or only one. However, even the latter algorithms can be used to find all eigenvalues. Once an eigenvalue <span class="texhtml"><i>λ</i></span> of a matrix <span class="texhtml"><i>A</i></span> has been identified, it can be used to either direct the algorithm towards a different solution next time, or to reduce the problem to one that no longer has <span class="texhtml"><i>λ</i></span> as a solution.
</p><p>Redirection is usually accomplished by shifting: replacing <span class="texhtml"><i>A</i></span> with <span class="texhtml"><i>A</i> − <i>μI</i></span> for some constant <span class="texhtml"><i>μ</i></span>. The eigenvalue found for <span class="texhtml"><i>A</i> − <i>μI</i></span> must have <span class="texhtml"><i>μ</i></span> added back in to get an eigenvalue for <span class="texhtml"><i>A</i></span>. For example, for <a href="Power_iteration" title="Power iteration">power iteration</a>, <span class="texhtml"><i>μ</i> = <i>λ</i></span>. Power iteration finds the largest eigenvalue in absolute value, so even when <span class="texhtml"><i>λ</i></span> is only an approximate eigenvalue, power iteration is unlikely to find it a second time. Conversely, <a href="Inverse_iteration" title="Inverse iteration">inverse iteration</a> based methods find the lowest eigenvalue, so <span class="texhtml"><i>μ</i></span> is chosen well away from <span class="texhtml"><i>λ</i></span> and hopefully closer to some other eigenvalue.
</p><p>Reduction can be accomplished by restricting <span class="texhtml"><i>A</i></span> to the column space of the matrix <span class="texhtml"><i>A</i> − <i>λI</i></span>, which <span class="texhtml"><i>A</i></span> carries to itself. Since <span class="texhtml"><i>A</i> - <i>λI</i></span> is singular, the column space is of lesser dimension. The eigenvalue algorithm can then be applied to the restricted matrix. This process can be repeated until all eigenvalues are found.
</p><p>If an eigenvalue algorithm does not produce eigenvectors, a common practice is to use an inverse iteration based algorithm with <span class="texhtml"><i>μ</i></span> set to a close approximation to the eigenvalue. This will quickly converge to the eigenvector of the closest eigenvalue to <span class="texhtml"><i>μ</i></span>. For small matrices, an alternative is to look at the column space of the product of <span class="texhtml"><i>A</i> − <i>λ</i><span class="nowrap" style="padding-left:0.1em;">'</span><i>I</i></span> for each of the other eigenvalues <span class="texhtml"><i>λ</i><span class="nowrap" style="padding-left:0.1em;">'</span></span>.
</p><p>A formula for the norm of unit eigenvector components of normal matrices was discovered by Robert Thompson in 1966 and rediscovered independently by several others.<sup id="cite_ref-8" class="reference"><a href="#cite_note-8"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-9" class="reference"><a href="#cite_note-9"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-10" class="reference"><a href="#cite_note-10"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-11" class="reference"><a href="#cite_note-11"><span class="cite-bracket">[</span>8<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-12" class="reference"><a href="#cite_note-12"><span class="cite-bracket">[</span>9<span class="cite-bracket">]</span></a></sup>
If <span class="texhtml"><i>A</i></span> is an <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\textstyle n\times n}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="false" scriptlevel="0">
<mi>n</mi>
<mo>×<!-- × --></mo>
<mi>n</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\textstyle n\times n}</annotation>
</semantics>
</math></span><img src="./b6fbcac74eb679edde27a00a9f2a17a51f9ea354.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:5.63ex; height:1.676ex;" alt="{\textstyle n\times n}" loading="lazy"></span> normal matrix with eigenvalues <span class="texhtml"><i>λ</i><sub><i>i</i></sub>(<i>A</i>)</span> and corresponding unit eigenvectors <span class="texhtml"><b>v</b><sub><i>i</i></sub></span> whose component entries are <span class="texhtml"><i>v</i><sub><i>i,j</i></sub></span>, let <span class="texhtml"><i>A</i><sub><i>j</i></sub></span> be the <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\textstyle n-1\times n-1}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="false" scriptlevel="0">
<mi>n</mi>
<mo>−<!-- − --></mo>
<mn>1</mn>
<mo>×<!-- × --></mo>
<mi>n</mi>
<mo>−<!-- − --></mo>
<mn>1</mn>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\textstyle n-1\times n-1}</annotation>
</semantics>
</math></span><img src="./caacda76f335cf5d19350c968919323a78d924f5.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.505ex; width:13.636ex; height:2.343ex;" alt="{\textstyle n-1\times n-1}" loading="lazy"></span> matrix obtained by removing the <span class="texhtml"><i>i</i></span>-th row and column from <span class="texhtml"><i>A</i></span>, and let <span class="texhtml"><i>λ</i><sub><i>k</i></sub>(<i>A</i><sub><i>j</i></sub>)</span> be its <span class="texhtml"><i>k</i></span>-th eigenvalue. Then
<span class="mwe-math-element mwe-math-element-block"><span class="mwe-math-mathml-display mwe-math-mathml-a11y" style="display: none;"><math display="block" xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle |v_{i,j}|^{2}\prod _{k=1,k\neq i}^{n}(\lambda _{i}(A)-\lambda _{k}(A))=\prod _{k=1}^{n-1}(\lambda _{i}(A)-\lambda _{k}(A_{j}))}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<mo stretchy="false">|</mo>
</mrow>
<msub>
<mi>v</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>i</mi>
<mo>,</mo>
<mi>j</mi>
</mrow>
</msub>
<msup>
<mrow class="MJX-TeXAtom-ORD">
<mo stretchy="false">|</mo>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msup>
<munderover>
<mo>∏<!-- ∏ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
<mo>=</mo>
<mn>1</mn>
<mo>,</mo>
<mi>k</mi>
<mo>≠<!-- ≠ --></mo>
<mi>i</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>n</mi>
</mrow>
</munderover>
<mo stretchy="false">(</mo>
<msub>
<mi>λ<!-- λ --></mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>i</mi>
</mrow>
</msub>
<mo stretchy="false">(</mo>
<mi>A</mi>
<mo stretchy="false">)</mo>
<mo>−<!-- − --></mo>
<msub>
<mi>λ<!-- λ --></mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
</mrow>
</msub>
<mo stretchy="false">(</mo>
<mi>A</mi>
<mo stretchy="false">)</mo>
<mo stretchy="false">)</mo>
<mo>=</mo>
<munderover>
<mo>∏<!-- ∏ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>n</mi>
<mo>−<!-- − --></mo>
<mn>1</mn>
</mrow>
</munderover>
<mo stretchy="false">(</mo>
<msub>
<mi>λ<!-- λ --></mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>i</mi>
</mrow>
</msub>
<mo stretchy="false">(</mo>
<mi>A</mi>
<mo stretchy="false">)</mo>
<mo>−<!-- − --></mo>
<msub>
<mi>λ<!-- λ --></mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
</mrow>
</msub>
<mo stretchy="false">(</mo>
<msub>
<mi>A</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
</mrow>
</msub>
<mo stretchy="false">)</mo>
<mo stretchy="false">)</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle |v_{i,j}|^{2}\prod _{k=1,k\neq i}^{n}(\lambda _{i}(A)-\lambda _{k}(A))=\prod _{k=1}^{n-1}(\lambda _{i}(A)-\lambda _{k}(A_{j}))}</annotation>
</semantics>
</math></span></span>
</p><p>If <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle p,p_{j}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>p</mi>
<mo>,</mo>
<msub>
<mi>p</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle p,p_{j}}</annotation>
</semantics>
</math></span><img src="./936032863e2636d1e8a830cf00a10132df9ad7d2.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; margin-left: -0.089ex; width:4.372ex; height:2.343ex;" alt="{\displaystyle p,p_{j}}" loading="lazy"></span> are the characteristic polynomials of <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle A}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>A</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle A}</annotation>
</semantics>
</math></span><img src="./7daff47fa58cdfd29dc333def748ff5fa4c923e3.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.743ex; height:2.176ex;" alt="{\displaystyle A}" loading="lazy"></span> and <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle A_{j}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mi>A</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle A_{j}}</annotation>
</semantics>
</math></span><img src="./6019bb70c912e59e9d5f442e9217517743ed4831.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:2.653ex; height:2.843ex;" alt="{\displaystyle A_{j}}" loading="lazy"></span>, the formula can be re-written as
<span class="mwe-math-element mwe-math-element-block"><span class="mwe-math-mathml-display mwe-math-mathml-a11y" style="display: none;"><math display="block" xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle |v_{i,j}|^{2}={\frac {p_{j}(\lambda _{i}(A))}{p'(\lambda _{i}(A))}}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<mo stretchy="false">|</mo>
</mrow>
<msub>
<mi>v</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>i</mi>
<mo>,</mo>
<mi>j</mi>
</mrow>
</msub>
<msup>
<mrow class="MJX-TeXAtom-ORD">
<mo stretchy="false">|</mo>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msup>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
<mfrac>
<mrow>
<msub>
<mi>p</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
</mrow>
</msub>
<mo stretchy="false">(</mo>
<msub>
<mi>λ<!-- λ --></mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>i</mi>
</mrow>
</msub>
<mo stretchy="false">(</mo>
<mi>A</mi>
<mo stretchy="false">)</mo>
<mo stretchy="false">)</mo>
</mrow>
<mrow>
<msup>
<mi>p</mi>
<mo>′</mo>
</msup>
<mo stretchy="false">(</mo>
<msub>
<mi>λ<!-- λ --></mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>i</mi>
</mrow>
</msub>
<mo stretchy="false">(</mo>
<mi>A</mi>
<mo stretchy="false">)</mo>
<mo stretchy="false">)</mo>
</mrow>
</mfrac>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle |v_{i,j}|^{2}={\frac {p_{j}(\lambda _{i}(A))}{p'(\lambda _{i}(A))}}}</annotation>
</semantics>
</math></span></span>
assuming the derivative <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle p'}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msup>
<mi>p</mi>
<mo>′</mo>
</msup>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle p'}</annotation>
</semantics>
</math></span><img src="./40e623e3163571a220ed60ecb31aa78c24104b85.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; margin-left: -0.089ex; width:1.944ex; height:2.843ex;" alt="{\displaystyle p'}" loading="lazy"></span> is not zero at <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \lambda _{i}(A)}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mi>λ<!-- λ --></mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>i</mi>
</mrow>
</msub>
<mo stretchy="false">(</mo>
<mi>A</mi>
<mo stretchy="false">)</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \lambda _{i}(A)}</annotation>
</semantics>
</math></span><img src="./3d2d037e41b4550dcc631bc0e36076b366b4c33b.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:5.707ex; height:2.843ex;" alt="{\displaystyle \lambda _{i}(A)}" loading="lazy"></span>.
</p>
<div class="mw-heading mw-heading2"><h2 id="Hessenberg_and_tridiagonal_matrices">Hessenberg and tridiagonal matrices</h2></div>
<div role="note" class="hatnote navigation-not-searchable">Main article: <a href="Hessenberg_matrix" title="Hessenberg matrix">Hessenberg matrix</a></div>
<p>Because the eigenvalues of a triangular matrix are its diagonal elements, for general matrices there is no finite method like <a href="Gaussian_elimination" title="Gaussian elimination">gaussian elimination</a> to convert a matrix to triangular form while preserving eigenvalues. But it is possible to reach something close to triangular. An <a href="Hessenberg_matrix" title="Hessenberg matrix">upper Hessenberg matrix</a> is a square matrix for which all entries below the <a href="Subdiagonal" class="mw-redirect" title="Subdiagonal">subdiagonal</a> are zero. A lower Hessenberg matrix is one for which all entries above the <a href="Superdiagonal" class="mw-redirect" title="Superdiagonal">superdiagonal</a> are zero. Matrices that are both upper and lower Hessenberg are <a href="Tridiagonal_matrix" title="Tridiagonal matrix">tridiagonal</a>. Hessenberg and tridiagonal matrices are the starting points for many eigenvalue algorithms because the zero entries reduce the complexity of the problem. Several methods are commonly used to convert a general matrix into a Hessenberg matrix with the same eigenvalues. If the original matrix was symmetric or Hermitian, then the resulting matrix will be tridiagonal.
</p><p>When only eigenvalues are needed, there is no need to calculate the similarity matrix, as the transformed matrix has the same eigenvalues. If eigenvectors are needed as well, the similarity matrix may be needed to transform the eigenvectors of the Hessenberg matrix back into eigenvectors of the original matrix.
</p>
<table class="wikitable" style="text-align: center">

<tbody><tr>
<th>Method</th>
<th>Applies to</th>
<th>Produces</th>
<th>Cost without similarity matrix</th>
<th>Cost with similarity matrix</th>
<th>Description
</th></tr>
<tr>
<td><a href="Householder_transformation" title="Householder transformation">Householder transformations</a></td>
<td>General</td>
<td>Hessenberg</td>
<td><span class="texhtml"><style data-mw-deduplicate="TemplateStyles:r1154941027">
/* start https://en.wikipedia.org/ */


.mw-parser-output .frac{white-space:nowrap}.mw-parser-output .frac .num,.mw-parser-output .frac .den{font-size:80%;line-height:0;vertical-align:super}.mw-parser-output .frac .den{vertical-align:sub}.mw-parser-output .sr-only{border:0;clip:rect(0,0,0,0);clip-path:polygon(0px 0px,0px 0px,0px 0px);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}


/* end https://en.wikipedia.org/ */
</style><span class="frac"><span class="num">2<i>n</i><sup>3</sup></span>⁄<span class="den">3</span></span> + <i>O</i>(<i>n</i><sup>2</sup>)</span><sup id="cite_ref-NumericalRecipes_13-0" class="reference"><a href="#cite_note-NumericalRecipes-13"><span class="cite-bracket">[</span>10<span class="cite-bracket">]</span></a></sup><sup class="reference nowrap"><span title="Page: 474">: 474 </span></sup></td>
<td><span class="texhtml"><span class="frac"><span class="num">4<i>n</i><sup>3</sup></span>⁄<span class="den">3</span></span> + <i>O</i>(<i>n</i><sup>2</sup>)</span><sup id="cite_ref-NumericalRecipes_13-1" class="reference"><a href="#cite_note-NumericalRecipes-13"><span class="cite-bracket">[</span>10<span class="cite-bracket">]</span></a></sup><sup class="reference nowrap"><span title="Page: 474">: 474 </span></sup></td>
<td align="left">Reflect each column through a subspace to zero out its lower entries.
</td></tr>
<tr>
<td><a href="Givens_rotation" title="Givens rotation">Givens rotations</a></td>
<td>General</td>
<td>Hessenberg</td>
<td><span class="texhtml"><span class="frac"><span class="num">4<i>n</i><sup>3</sup></span>⁄<span class="den">3</span></span> + <i>O</i>(<i>n</i><sup>2</sup>)</span><sup id="cite_ref-NumericalRecipes_13-2" class="reference"><a href="#cite_note-NumericalRecipes-13"><span class="cite-bracket">[</span>10<span class="cite-bracket">]</span></a></sup><sup class="reference nowrap"><span title="Page: 470">: 470 </span></sup></td>
<td></td>
<td align="left">Apply planar rotations to zero out individual entries. Rotations are ordered so that later ones do not cause zero entries to become non-zero again.
</td></tr>
<tr>
<td><a href="Arnoldi_iteration" title="Arnoldi iteration">Arnoldi iteration</a></td>
<td>General</td>
<td>Hessenberg</td>
<td></td>
<td></td>
<td align="left">Perform Gram–Schmidt orthogonalization on Krylov subspaces.
</td></tr>
<tr>
<td><a href="Lanczos_algorithm" title="Lanczos algorithm">Lanczos algorithm</a></td>
<td>Hermitian</td>
<td>Tridiagonal</td>
<td></td>
<td></td>
<td align="left">Arnoldi iteration for Hermitian matrices, with shortcuts.
</td></tr></tbody></table>
<p>For symmetric tridiagonal eigenvalue problems all eigenvalues (without eigenvectors) can be computed numerically in time O(n log(n)), using bisection on the characteristic polynomial.<sup id="cite_ref-CoakleyRokhlin_14-0" class="reference"><a href="#cite_note-CoakleyRokhlin-14"><span class="cite-bracket">[</span>11<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="Iterative_algorithms">Iterative algorithms</h2></div>
<p>Iterative algorithms solve the eigenvalue problem by producing sequences that converge to the eigenvalues. Some algorithms also produce sequences of vectors that converge to the eigenvectors. Most commonly, the eigenvalue sequences are expressed as sequences of similar matrices which converge to a triangular or diagonal form, allowing the eigenvalues to be read easily. The eigenvector sequences are expressed as the corresponding similarity matrices.
</p>
<table class="wikitable" style="text-align: center">

<tbody><tr>
<th>Method</th>
<th>Applies to</th>
<th>Produces</th>
<th>Cost per step</th>
<th>Convergence</th>
<th>Description
</th></tr>
<tr>
<td><a href="Lanczos_algorithm" title="Lanczos algorithm">Lanczos algorithm</a></td>
<td>Hermitian</td>
<td><span class="texhtml"> <i>m</i> </span> largest/smallest eigenpairs</td>
<td></td>
<td></td>
<td align="left">
</td></tr>
<tr>
<td><a href="Power_iteration" title="Power iteration">Power iteration</a></td>
<td>general</td>
<td>eigenpair with largest value</td>
<td><span class="texhtml"><i>O</i>(<i>n</i><sup>2</sup>)</span></td>
<td>linear</td>
<td align="left">Repeatedly applies the matrix to an arbitrary starting vector and renormalizes.
</td></tr>
<tr>
<td><a href="Inverse_iteration" title="Inverse iteration">Inverse iteration</a></td>
<td>general</td>
<td><span class="nowrap">eigenpair with value closest to <i>μ</i></span></td>
<td></td>
<td>linear</td>
<td align="left">Power iteration for <span class="texhtml">(<i>A</i> − <i>μI</i>)<sup>−1</sup></span>
</td></tr>
<tr>
<td><a href="Rayleigh_quotient_iteration" title="Rayleigh quotient iteration">Rayleigh quotient iteration</a></td>
<td>Hermitian</td>
<td>any eigenpair</td>
<td></td>
<td>cubic</td>
<td align="left">Power iteration for <span class="texhtml">(<i>A</i> − <i>μ</i><sub><i>i</i></sub><i>I</i>)<sup>−1</sup></span>, where <span class="texhtml"><i>μ</i><sub><i>i</i></sub></span> for each iteration is the Rayleigh quotient of the previous iteration.
</td></tr>
<tr>
<td width="200">Preconditioned inverse iteration<sup id="cite_ref-15" class="reference"><a href="#cite_note-15"><span class="cite-bracket">[</span>12<span class="cite-bracket">]</span></a></sup> or <a href="LOBPCG" title="LOBPCG">LOBPCG algorithm</a></td>
<td><a href="Positive-definite_matrix" class="mw-redirect" title="Positive-definite matrix">positive-definite</a> real symmetric</td>
<td>eigenpair with value closest to <i>μ</i></td>
<td></td>
<td></td>
<td align="left">Inverse iteration using a <a href="Preconditioner" title="Preconditioner">preconditioner</a> (an approximate inverse to <span class="texhtml"><i>A</i></span>).
</td></tr>
<tr>
<td>Bisection method</td>
<td>real symmetric tridiagonal</td>
<td>any eigenvalue</td>
<td></td>
<td>linear</td>
<td align="left">Uses the <a href="Bisection_method" title="Bisection method">bisection method</a> to find roots of the characteristic polynomial, supported by the Sturm sequence.
</td></tr>
<tr>
<td>Laguerre iteration</td>
<td>real symmetric tridiagonal</td>
<td>any eigenvalue</td>
<td></td>
<td>cubic<sup id="cite_ref-16" class="reference"><a href="#cite_note-16"><span class="cite-bracket">[</span>13<span class="cite-bracket">]</span></a></sup></td>
<td align="left">Uses <a href="Laguerre's_method" title="Laguerre's method">Laguerre's method</a> to find roots of the characteristic polynomial, supported by the Sturm sequence.
</td></tr>
<tr>
<td rowspan="2"><a href="QR_algorithm" title="QR algorithm">QR algorithm</a></td>
<td rowspan="2">Hessenberg</td>
<td>all eigenvalues</td>
<td><span class="texhtml"><i>O</i>(<i>n</i><sup>2</sup>)</span></td>
<td rowspan="2">cubic</td>
<td align="left" rowspan="2">Factors <i>A</i> = <i>QR</i>, where <i>Q</i> is orthogonal and <i>R</i> is triangular, then applies the next iteration to <i>RQ</i>.
</td></tr>
<tr>
<td>all eigenpairs</td>
<td><span class="texhtml">6<i>n</i><sup>3</sup> + <i>O</i>(<i>n</i><sup>2</sup>)</span>
</td></tr>
<tr>
<td><a href="Jacobi_eigenvalue_algorithm" title="Jacobi eigenvalue algorithm">Jacobi eigenvalue algorithm</a></td>
<td>real symmetric</td>
<td>all eigenvalues</td>
<td><span class="texhtml"><i>O</i>(<i>n</i><sup>3</sup>)</span></td>
<td>quadratic</td>
<td align="left">Uses Givens rotations to attempt clearing all off-diagonal entries. This fails, but strengthens the diagonal.
</td></tr>
<tr>
<td rowspan="2"><a href="Divide-and-conquer_eigenvalue_algorithm" title="Divide-and-conquer eigenvalue algorithm">Divide-and-conquer</a></td>
<td rowspan="2">Hermitian tridiagonal</td>
<td>all eigenvalues</td>
<td><span class="texhtml"><i>O</i>(<i>n</i><sup>2</sup>)</span></td>
<td rowspan="2"></td>
<td align="left" rowspan="2">Divides the matrix into submatrices that are diagonalized then recombined.
</td></tr>
<tr>
<td>all eigenpairs</td>
<td><span class="texhtml">(<span class="frac"><span class="num">4</span>⁄<span class="den">3</span></span>)<i>n</i><sup>3</sup> + <i>O</i>(<i>n</i><sup>2</sup>)</span>
</td></tr>
<tr>
<td>Homotopy method</td>
<td>real symmetric tridiagonal</td>
<td>all eigenpairs</td>
<td><span class="texhtml"><i>O</i>(<i>n</i><sup>2</sup>)<sup id="cite_ref-17" class="reference"><a href="#cite_note-17"><span class="cite-bracket">[</span>14<span class="cite-bracket">]</span></a></sup></span></td>
<td></td>
<td align="left">Constructs a computable homotopy path from a diagonal eigenvalue problem.
</td></tr>
<tr>
<td><a href="Folded_spectrum_method" title="Folded spectrum method">Folded spectrum method</a></td>
<td>real symmetric</td>
<td>eigenpair with value closest to <i>μ</i></td>
<td></td>
<td></td>
<td align="left">Preconditioned inverse iteration applied to <span class="texhtml">(<i>A</i> − <i>μI</i>)<sup>2</sup></span>
</td></tr>
<tr>
<td>MRRR algorithm<sup id="cite_ref-18" class="reference"><a href="#cite_note-18"><span class="cite-bracket">[</span>15<span class="cite-bracket">]</span></a></sup></td>
<td>real symmetric tridiagonal</td>
<td>some or all eigenpairs</td>
<td><span class="texhtml"><i>O</i>(<i>n</i><sup>2</sup>)</span></td>
<td></td>
<td align="left">"Multiple relatively robust representations" – performs inverse iteration on a <a href="Cholesky_decomposition" title="Cholesky decomposition"><i>LDL</i><sup>T</sup> decomposition</a> of the shifted matrix.
</td></tr>
<tr>
<td>Gram iteration<sup id="cite_ref-19" class="reference"><a href="#cite_note-19"><span class="cite-bracket">[</span>16<span class="cite-bracket">]</span></a></sup></td>
<td>general</td>
<td>Eigenpair with largest eigenvalue</td>
<td></td>
<td>super-linear</td>
<td align="left">Repeatedly computes the Gram product and rescales, deterministically.
</td></tr></tbody></table>
<div class="mw-heading mw-heading2"><h2 id="Direct_calculation">Direct calculation</h2></div>
<p>While there is no simple algorithm to directly calculate eigenvalues for general matrices, there are numerous special classes of matrices where eigenvalues can be directly calculated. These include:
</p>
<div class="mw-heading mw-heading3"><h3 id="Triangular_matrices">Triangular matrices</h3></div>
<p>Since the determinant of a <a href="Triangular_matrix" title="Triangular matrix">triangular matrix</a> is the product of its diagonal entries, if <i>T</i> is triangular, then <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\textstyle \det(\lambda I-T)=\prod _{i}(\lambda -T_{ii})}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="false" scriptlevel="0">
<mo movablelimits="true" form="prefix">det</mo>
<mo stretchy="false">(</mo>
<mi>λ<!-- λ --></mi>
<mi>I</mi>
<mo>−<!-- − --></mo>
<mi>T</mi>
<mo stretchy="false">)</mo>
<mo>=</mo>
<munder>
<mo>∏<!-- ∏ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mi>i</mi>
</mrow>
</munder>
<mo stretchy="false">(</mo>
<mi>λ<!-- λ --></mi>
<mo>−<!-- − --></mo>
<msub>
<mi>T</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>i</mi>
<mi>i</mi>
</mrow>
</msub>
<mo stretchy="false">)</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\textstyle \det(\lambda I-T)=\prod _{i}(\lambda -T_{ii})}</annotation>
</semantics>
</math></span><img src="./d57cbd9cad24fef0c922e671c6fbfb04f0bebb3d.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:26.864ex; height:3.009ex;" alt="{\textstyle \det(\lambda I-T)=\prod _{i}(\lambda -T_{ii})}" loading="lazy"></span>. Thus the eigenvalues of <i>T</i> are its diagonal entries.
</p>
<div class="mw-heading mw-heading3"><h3 id="Factorable_polynomial_equations">Factorable polynomial equations</h3></div>
<p>If <span class="texhtml"><i>p</i></span> is any polynomial and <span class="texhtml"><i>p</i>(<i>A</i>) = 0,</span> then the eigenvalues of <span class="texhtml"><i>A</i></span> also satisfy the same equation. If <span class="texhtml"><i>p</i></span> happens to have a known factorization, then the eigenvalues of <span class="texhtml"><i>A</i></span> lie among its roots.
</p><p>For example, a <a href="Projection_(linear_algebra)" title="Projection (linear algebra)">projection</a> is a square matrix <span class="texhtml"><i>P</i></span> satisfying <span class="texhtml"><i>P</i><sup>2</sup> = <i>P</i></span>. The roots of the corresponding scalar polynomial equation, <span class="texhtml"><i>λ</i><sup>2</sup> = <i>λ</i></span>, are 0 and 1. Thus any projection has 0 and 1 for its eigenvalues. The multiplicity of 0 as an eigenvalue is the <a href="Kernel_(linear_algebra)#Representation_as_matrix_multiplication" title="Kernel (linear algebra)">nullity</a> of <span class="texhtml"><i>P</i></span>, while the multiplicity of 1 is the rank of <span class="texhtml"><i>P</i></span>.
</p><p>Another example is a matrix <span class="texhtml"><i>A</i></span> that satisfies <span class="texhtml"><i>A</i><sup>2</sup> = <i>α</i><sup>2</sup><i>I</i></span> for some scalar <span class="texhtml"><i>α</i></span>. The eigenvalues must be <span class="texhtml">±<i>α</i></span>. The projection operators
</p>
<dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle P_{+}={\frac {1}{2}}\left(I+{\frac {A}{\alpha }}\right)}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mi>P</mi>
<mrow class="MJX-TeXAtom-ORD">
<mo>+</mo>
</mrow>
</msub>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
<mfrac>
<mn>1</mn>
<mn>2</mn>
</mfrac>
</mrow>
<mrow>
<mo>(</mo>
<mrow>
<mi>I</mi>
<mo>+</mo>
<mrow class="MJX-TeXAtom-ORD">
<mfrac>
<mi>A</mi>
<mi>α<!-- α --></mi>
</mfrac>
</mrow>
</mrow>
<mo>)</mo>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle P_{+}={\frac {1}{2}}\left(I+{\frac {A}{\alpha }}\right)}</annotation>
</semantics>
</math></span><img src="./ab7ce2d7e871095743d5290f53b8a65553f43da3.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -2.505ex; width:18.5ex; height:6.176ex;" alt="{\displaystyle P_{+}={\frac {1}{2}}\left(I+{\frac {A}{\alpha }}\right)}" loading="lazy"></span></dd></dl>
<dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle P_{-}={\frac {1}{2}}\left(I-{\frac {A}{\alpha }}\right)}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mi>P</mi>
<mrow class="MJX-TeXAtom-ORD">
<mo>−<!-- − --></mo>
</mrow>
</msub>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
<mfrac>
<mn>1</mn>
<mn>2</mn>
</mfrac>
</mrow>
<mrow>
<mo>(</mo>
<mrow>
<mi>I</mi>
<mo>−<!-- − --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mfrac>
<mi>A</mi>
<mi>α<!-- α --></mi>
</mfrac>
</mrow>
</mrow>
<mo>)</mo>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle P_{-}={\frac {1}{2}}\left(I-{\frac {A}{\alpha }}\right)}</annotation>
</semantics>
</math></span><img src="./7ad3b4ce123cbd8d8cb9c6270a1e5eb3e03025fb.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -2.505ex; width:18.5ex; height:6.176ex;" alt="{\displaystyle P_{-}={\frac {1}{2}}\left(I-{\frac {A}{\alpha }}\right)}" loading="lazy"></span></dd></dl>
<p>satisfy
</p>
<dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle AP_{+}=\alpha P_{+}\quad AP_{-}=-\alpha P_{-}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>A</mi>
<msub>
<mi>P</mi>
<mrow class="MJX-TeXAtom-ORD">
<mo>+</mo>
</mrow>
</msub>
<mo>=</mo>
<mi>α<!-- α --></mi>
<msub>
<mi>P</mi>
<mrow class="MJX-TeXAtom-ORD">
<mo>+</mo>
</mrow>
</msub>
<mspace width="1em"></mspace>
<mi>A</mi>
<msub>
<mi>P</mi>
<mrow class="MJX-TeXAtom-ORD">
<mo>−<!-- − --></mo>
</mrow>
</msub>
<mo>=</mo>
<mo>−<!-- − --></mo>
<mi>α<!-- α --></mi>
<msub>
<mi>P</mi>
<mrow class="MJX-TeXAtom-ORD">
<mo>−<!-- − --></mo>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle AP_{+}=\alpha P_{+}\quad AP_{-}=-\alpha P_{-}}</annotation>
</semantics>
</math></span><img src="./f98fe0a8b737e9493bef51f68081e865d59c49c7.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:28.801ex; height:2.509ex;" alt="{\displaystyle AP_{+}=\alpha P_{+}\quad AP_{-}=-\alpha P_{-}}" loading="lazy"></span></dd></dl>
<p>and
</p>
<dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle P_{+}P_{+}=P_{+}\quad P_{-}P_{-}=P_{-}\quad P_{+}P_{-}=P_{-}P_{+}=0.}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mi>P</mi>
<mrow class="MJX-TeXAtom-ORD">
<mo>+</mo>
</mrow>
</msub>
<msub>
<mi>P</mi>
<mrow class="MJX-TeXAtom-ORD">
<mo>+</mo>
</mrow>
</msub>
<mo>=</mo>
<msub>
<mi>P</mi>
<mrow class="MJX-TeXAtom-ORD">
<mo>+</mo>
</mrow>
</msub>
<mspace width="1em"></mspace>
<msub>
<mi>P</mi>
<mrow class="MJX-TeXAtom-ORD">
<mo>−<!-- − --></mo>
</mrow>
</msub>
<msub>
<mi>P</mi>
<mrow class="MJX-TeXAtom-ORD">
<mo>−<!-- − --></mo>
</mrow>
</msub>
<mo>=</mo>
<msub>
<mi>P</mi>
<mrow class="MJX-TeXAtom-ORD">
<mo>−<!-- − --></mo>
</mrow>
</msub>
<mspace width="1em"></mspace>
<msub>
<mi>P</mi>
<mrow class="MJX-TeXAtom-ORD">
<mo>+</mo>
</mrow>
</msub>
<msub>
<mi>P</mi>
<mrow class="MJX-TeXAtom-ORD">
<mo>−<!-- − --></mo>
</mrow>
</msub>
<mo>=</mo>
<msub>
<mi>P</mi>
<mrow class="MJX-TeXAtom-ORD">
<mo>−<!-- − --></mo>
</mrow>
</msub>
<msub>
<mi>P</mi>
<mrow class="MJX-TeXAtom-ORD">
<mo>+</mo>
</mrow>
</msub>
<mo>=</mo>
<mn>0.</mn>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle P_{+}P_{+}=P_{+}\quad P_{-}P_{-}=P_{-}\quad P_{+}P_{-}=P_{-}P_{+}=0.}</annotation>
</semantics>
</math></span><img src="./8e03c6095f5be8fea53b03aaee38de21dd6b906e.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:48.879ex; height:2.509ex;" alt="{\displaystyle P_{+}P_{+}=P_{+}\quad P_{-}P_{-}=P_{-}\quad P_{+}P_{-}=P_{-}P_{+}=0.}" loading="lazy"></span></dd></dl>
<p>The <a href="Column_space" class="mw-redirect" title="Column space">column spaces</a> of <span class="texhtml"><i>P</i><sub>+</sub></span> and <span class="texhtml"><i>P</i><sub>−</sub></span> are the eigenspaces of <span class="texhtml"><i>A</i></span> corresponding to <span class="texhtml">+<i>α</i></span> and <span class="texhtml">−<i>α</i></span>, respectively.
</p>
<div class="mw-heading mw-heading3"><h3 id="2×2_matrices">2×2 matrices</h3></div>
<p>For dimensions 2 through 4, formulas involving radicals exist that can be used to find the eigenvalues. While a common practice for 2×2 and 3×3 matrices, for 4×4 matrices the increasing complexity of the <a href="Quartic_function#Ferrari's_solution" title="Quartic function">root formulas</a> makes this approach less attractive.
</p><p>For the 2×2 matrix
</p>
<dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle A={\begin{bmatrix}a&amp;b\\c&amp;d\end{bmatrix}},}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>A</mi>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
<mrow>
<mo>[</mo>
<mtable rowspacing="4pt" columnspacing="1em">
<mtr>
<mtd>
<mi>a</mi>
</mtd>
<mtd>
<mi>b</mi>
</mtd>
</mtr>
<mtr>
<mtd>
<mi>c</mi>
</mtd>
<mtd>
<mi>d</mi>
</mtd>
</mtr>
</mtable>
<mo>]</mo>
</mrow>
</mrow>
<mo>,</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle A={\begin{bmatrix}a&amp;b\\c&amp;d\end{bmatrix}},}</annotation>
</semantics>
</math></span><img src="./c8d6f68287c88b68a92da911aa68e6237e6327cc.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -2.505ex; width:13.463ex; height:6.176ex;" alt="{\displaystyle A={\begin{bmatrix}a&amp;b\\c&amp;d\end{bmatrix}},}" loading="lazy"></span></dd></dl>
<p>the characteristic polynomial is
</p>
<dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \det {\begin{bmatrix}\lambda -a&amp;-b\\-c&amp;\lambda -d\end{bmatrix}}=\lambda ^{2}\,-\,\left(a+d\right)\lambda \,+\,\left(ad-bc\right)=\lambda ^{2}\,-\,\lambda \,{\rm {tr}}(A)\,+\,\det(A).}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mo movablelimits="true" form="prefix">det</mo>
<mrow class="MJX-TeXAtom-ORD">
<mrow>
<mo>[</mo>
<mtable rowspacing="4pt" columnspacing="1em">
<mtr>
<mtd>
<mi>λ<!-- λ --></mi>
<mo>−<!-- − --></mo>
<mi>a</mi>
</mtd>
<mtd>
<mo>−<!-- − --></mo>
<mi>b</mi>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>−<!-- − --></mo>
<mi>c</mi>
</mtd>
<mtd>
<mi>λ<!-- λ --></mi>
<mo>−<!-- − --></mo>
<mi>d</mi>
</mtd>
</mtr>
</mtable>
<mo>]</mo>
</mrow>
</mrow>
<mo>=</mo>
<msup>
<mi>λ<!-- λ --></mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msup>
<mspace width="thinmathspace"></mspace>
<mo>−<!-- − --></mo>
<mspace width="thinmathspace"></mspace>
<mrow>
<mo>(</mo>
<mrow>
<mi>a</mi>
<mo>+</mo>
<mi>d</mi>
</mrow>
<mo>)</mo>
</mrow>
<mi>λ<!-- λ --></mi>
<mspace width="thinmathspace"></mspace>
<mo>+</mo>
<mspace width="thinmathspace"></mspace>
<mrow>
<mo>(</mo>
<mrow>
<mi>a</mi>
<mi>d</mi>
<mo>−<!-- − --></mo>
<mi>b</mi>
<mi>c</mi>
</mrow>
<mo>)</mo>
</mrow>
<mo>=</mo>
<msup>
<mi>λ<!-- λ --></mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msup>
<mspace width="thinmathspace"></mspace>
<mo>−<!-- − --></mo>
<mspace width="thinmathspace"></mspace>
<mi>λ<!-- λ --></mi>
<mspace width="thinmathspace"></mspace>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="normal">t</mi>
<mi mathvariant="normal">r</mi>
</mrow>
</mrow>
<mo stretchy="false">(</mo>
<mi>A</mi>
<mo stretchy="false">)</mo>
<mspace width="thinmathspace"></mspace>
<mo>+</mo>
<mspace width="thinmathspace"></mspace>
<mo movablelimits="true" form="prefix">det</mo>
<mo stretchy="false">(</mo>
<mi>A</mi>
<mo stretchy="false">)</mo>
<mo>.</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \det {\begin{bmatrix}\lambda -a&amp;-b\\-c&amp;\lambda -d\end{bmatrix}}=\lambda ^{2}\,-\,\left(a+d\right)\lambda \,+\,\left(ad-bc\right)=\lambda ^{2}\,-\,\lambda \,{\rm {tr}}(A)\,+\,\det(A).}</annotation>
</semantics>
</math></span><img src="./37191d960c382555ce219c46fb8e9064f3bc960d.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -2.505ex; width:77.934ex; height:6.176ex;" alt="{\displaystyle \det {\begin{bmatrix}\lambda -a&amp;-b\\-c&amp;\lambda -d\end{bmatrix}}=\lambda ^{2}\,-\,\left(a+d\right)\lambda \,+\,\left(ad-bc\right)=\lambda ^{2}\,-\,\lambda \,{\rm {tr}}(A)\,+\,\det(A).}" loading="lazy"></span></dd></dl>
<p>Thus the eigenvalues can be found by using the <a href="Quadratic_formula" title="Quadratic formula">quadratic formula</a>:
</p>
<dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \lambda ={\frac {{\rm {tr}}(A)\pm {\sqrt {{\rm {tr}}^{2}(A)-4\det(A)}}}{2}}.}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>λ<!-- λ --></mi>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
<mfrac>
<mrow>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="normal">t</mi>
<mi mathvariant="normal">r</mi>
</mrow>
</mrow>
<mo stretchy="false">(</mo>
<mi>A</mi>
<mo stretchy="false">)</mo>
<mo>±<!-- ± --></mo>
<mrow class="MJX-TeXAtom-ORD">
<msqrt>
<msup>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="normal">t</mi>
<mi mathvariant="normal">r</mi>
</mrow>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msup>
<mo stretchy="false">(</mo>
<mi>A</mi>
<mo stretchy="false">)</mo>
<mo>−<!-- − --></mo>
<mn>4</mn>
<mo movablelimits="true" form="prefix">det</mo>
<mo stretchy="false">(</mo>
<mi>A</mi>
<mo stretchy="false">)</mo>
</msqrt>
</mrow>
</mrow>
<mn>2</mn>
</mfrac>
</mrow>
<mo>.</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \lambda ={\frac {{\rm {tr}}(A)\pm {\sqrt {{\rm {tr}}^{2}(A)-4\det(A)}}}{2}}.}</annotation>
</semantics>
</math></span><img src="./591b12cdf95df0d3fcdaa2ef69d169fb5f790d99.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.838ex; width:34.064ex; height:7.676ex;" alt="{\displaystyle \lambda ={\frac {{\rm {tr}}(A)\pm {\sqrt {{\rm {tr}}^{2}(A)-4\det(A)}}}{2}}.}" loading="lazy"></span></dd></dl>
<p>Defining <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\textstyle {\rm {gap}}\left(A\right)={\sqrt {{\rm {tr}}^{2}(A)-4\det(A)}}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="false" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="normal">g</mi>
<mi mathvariant="normal">a</mi>
<mi mathvariant="normal">p</mi>
</mrow>
</mrow>
<mrow>
<mo>(</mo>
<mi>A</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
<msqrt>
<msup>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="normal">t</mi>
<mi mathvariant="normal">r</mi>
</mrow>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msup>
<mo stretchy="false">(</mo>
<mi>A</mi>
<mo stretchy="false">)</mo>
<mo>−<!-- − --></mo>
<mn>4</mn>
<mo movablelimits="true" form="prefix">det</mo>
<mo stretchy="false">(</mo>
<mi>A</mi>
<mo stretchy="false">)</mo>
</msqrt>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\textstyle {\rm {gap}}\left(A\right)={\sqrt {{\rm {tr}}^{2}(A)-4\det(A)}}}</annotation>
</semantics>
</math></span><img src="./0cc31ec00be348adc2d48fb79b95b1207ea963c6.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.671ex; width:30.574ex; height:4.843ex;" alt="{\textstyle {\rm {gap}}\left(A\right)={\sqrt {{\rm {tr}}^{2}(A)-4\det(A)}}}" loading="lazy"></span> to be the distance between the two eigenvalues, it is straightforward to calculate
</p>
<dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\frac {\partial \lambda }{\partial a}}={\frac {1}{2}}\left(1\pm {\frac {a-d}{{\rm {gap}}(A)}}\right),\qquad {\frac {\partial \lambda }{\partial b}}={\frac {\pm c}{{\rm {gap}}(A)}}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<mfrac>
<mrow>
<mi mathvariant="normal">∂<!-- ∂ --></mi>
<mi>λ<!-- λ --></mi>
</mrow>
<mrow>
<mi mathvariant="normal">∂<!-- ∂ --></mi>
<mi>a</mi>
</mrow>
</mfrac>
</mrow>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
<mfrac>
<mn>1</mn>
<mn>2</mn>
</mfrac>
</mrow>
<mrow>
<mo>(</mo>
<mrow>
<mn>1</mn>
<mo>±<!-- ± --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mfrac>
<mrow>
<mi>a</mi>
<mo>−<!-- − --></mo>
<mi>d</mi>
</mrow>
<mrow>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="normal">g</mi>
<mi mathvariant="normal">a</mi>
<mi mathvariant="normal">p</mi>
</mrow>
</mrow>
<mo stretchy="false">(</mo>
<mi>A</mi>
<mo stretchy="false">)</mo>
</mrow>
</mfrac>
</mrow>
</mrow>
<mo>)</mo>
</mrow>
<mo>,</mo>
<mspace width="2em"></mspace>
<mrow class="MJX-TeXAtom-ORD">
<mfrac>
<mrow>
<mi mathvariant="normal">∂<!-- ∂ --></mi>
<mi>λ<!-- λ --></mi>
</mrow>
<mrow>
<mi mathvariant="normal">∂<!-- ∂ --></mi>
<mi>b</mi>
</mrow>
</mfrac>
</mrow>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
<mfrac>
<mrow>
<mo>±<!-- ± --></mo>
<mi>c</mi>
</mrow>
<mrow>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="normal">g</mi>
<mi mathvariant="normal">a</mi>
<mi mathvariant="normal">p</mi>
</mrow>
</mrow>
<mo stretchy="false">(</mo>
<mi>A</mi>
<mo stretchy="false">)</mo>
</mrow>
</mfrac>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle {\frac {\partial \lambda }{\partial a}}={\frac {1}{2}}\left(1\pm {\frac {a-d}{{\rm {gap}}(A)}}\right),\qquad {\frac {\partial \lambda }{\partial b}}={\frac {\pm c}{{\rm {gap}}(A)}}}</annotation>
</semantics>
</math></span><img src="./8c7890c37b0fc71032017205d0ab1534d8c1af03.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -2.671ex; width:45.104ex; height:6.343ex;" alt="{\displaystyle {\frac {\partial \lambda }{\partial a}}={\frac {1}{2}}\left(1\pm {\frac {a-d}{{\rm {gap}}(A)}}\right),\qquad {\frac {\partial \lambda }{\partial b}}={\frac {\pm c}{{\rm {gap}}(A)}}}" loading="lazy"></span></dd></dl>
<p>with similar formulas for <span class="texhtml"><i>c</i></span> and <span class="texhtml"><i>d</i></span>. From this it follows that the calculation is well-conditioned if the eigenvalues are isolated.
</p><p>Eigenvectors can be found by exploiting the <a href="Cayley%E2%80%93Hamilton_theorem" title="Cayley–Hamilton theorem">Cayley–Hamilton theorem</a>. If <span class="texhtml"><i>λ</i><sub>1</sub>, <i>λ</i><sub>2</sub></span> are the eigenvalues, then <span class="texhtml">(<i>A</i> − <i>λ</i><sub>1</sub><i>I</i>)(<i>A</i> − <i>λ</i><sub>2</sub><i>I</i>) = (<i>A</i> − <i>λ</i><sub>2</sub><i>I</i>)(<i>A</i> − <i>λ</i><sub>1</sub><i>I</i>) = 0</span>, so the columns of <span class="texhtml">(<i>A</i> − <i>λ</i><sub>2</sub><i>I</i>)</span> are annihilated by <span class="texhtml">(<i>A</i> − <i>λ</i><sub>1</sub><i>I</i>)</span> and vice versa. Assuming neither matrix is zero, the columns of each must include eigenvectors for the other eigenvalue. (If either matrix is zero, then <span class="texhtml"><i>A</i></span> is a multiple of the identity and any non-zero vector is an eigenvector.)
</p><p>For example, suppose
</p>
<dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle A={\begin{bmatrix}4&amp;3\\-2&amp;-3\end{bmatrix}},}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>A</mi>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
<mrow>
<mo>[</mo>
<mtable rowspacing="4pt" columnspacing="1em">
<mtr>
<mtd>
<mn>4</mn>
</mtd>
<mtd>
<mn>3</mn>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>−<!-- − --></mo>
<mn>2</mn>
</mtd>
<mtd>
<mo>−<!-- − --></mo>
<mn>3</mn>
</mtd>
</mtr>
</mtable>
<mo>]</mo>
</mrow>
</mrow>
<mo>,</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle A={\begin{bmatrix}4&amp;3\\-2&amp;-3\end{bmatrix}},}</annotation>
</semantics>
</math></span><img src="./8fccad6a96df844f943a926683d60f1e1d8646b8.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -2.505ex; width:16.959ex; height:6.176ex;" alt="{\displaystyle A={\begin{bmatrix}4&amp;3\\-2&amp;-3\end{bmatrix}},}" loading="lazy"></span></dd></dl>
<p>then <span class="texhtml">tr(<i>A</i>) = 4 − 3 = 1</span> and <span class="texhtml">det(<i>A</i>) = 4(−3) − 3(−2) = −6</span>, so the characteristic equation is
</p>
<dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle 0=\lambda ^{2}-\lambda -6=(\lambda -3)(\lambda +2),}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mn>0</mn>
<mo>=</mo>
<msup>
<mi>λ<!-- λ --></mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msup>
<mo>−<!-- − --></mo>
<mi>λ<!-- λ --></mi>
<mo>−<!-- − --></mo>
<mn>6</mn>
<mo>=</mo>
<mo stretchy="false">(</mo>
<mi>λ<!-- λ --></mi>
<mo>−<!-- − --></mo>
<mn>3</mn>
<mo stretchy="false">)</mo>
<mo stretchy="false">(</mo>
<mi>λ<!-- λ --></mi>
<mo>+</mo>
<mn>2</mn>
<mo stretchy="false">)</mo>
<mo>,</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle 0=\lambda ^{2}-\lambda -6=(\lambda -3)(\lambda +2),}</annotation>
</semantics>
</math></span><img src="./98941bf1d9b363d6c226e7e524e583235c7c13ef.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:32.949ex; height:3.176ex;" alt="{\displaystyle 0=\lambda ^{2}-\lambda -6=(\lambda -3)(\lambda +2),}" loading="lazy"></span></dd></dl>
<p>and the eigenvalues are 3 and -2. Now,
</p>
<dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle A-3I={\begin{bmatrix}1&amp;3\\-2&amp;-6\end{bmatrix}},\qquad A+2I={\begin{bmatrix}6&amp;3\\-2&amp;-1\end{bmatrix}}.}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>A</mi>
<mo>−<!-- − --></mo>
<mn>3</mn>
<mi>I</mi>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
<mrow>
<mo>[</mo>
<mtable rowspacing="4pt" columnspacing="1em">
<mtr>
<mtd>
<mn>1</mn>
</mtd>
<mtd>
<mn>3</mn>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>−<!-- − --></mo>
<mn>2</mn>
</mtd>
<mtd>
<mo>−<!-- − --></mo>
<mn>6</mn>
</mtd>
</mtr>
</mtable>
<mo>]</mo>
</mrow>
</mrow>
<mo>,</mo>
<mspace width="2em"></mspace>
<mi>A</mi>
<mo>+</mo>
<mn>2</mn>
<mi>I</mi>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
<mrow>
<mo>[</mo>
<mtable rowspacing="4pt" columnspacing="1em">
<mtr>
<mtd>
<mn>6</mn>
</mtd>
<mtd>
<mn>3</mn>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>−<!-- − --></mo>
<mn>2</mn>
</mtd>
<mtd>
<mo>−<!-- − --></mo>
<mn>1</mn>
</mtd>
</mtr>
</mtable>
<mo>]</mo>
</mrow>
</mrow>
<mo>.</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle A-3I={\begin{bmatrix}1&amp;3\\-2&amp;-6\end{bmatrix}},\qquad A+2I={\begin{bmatrix}6&amp;3\\-2&amp;-1\end{bmatrix}}.}</annotation>
</semantics>
</math></span><img src="./9cc009fed9bbecde2125a3cce733d78fc66909c5.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -2.505ex; width:49.299ex; height:6.176ex;" alt="{\displaystyle A-3I={\begin{bmatrix}1&amp;3\\-2&amp;-6\end{bmatrix}},\qquad A+2I={\begin{bmatrix}6&amp;3\\-2&amp;-1\end{bmatrix}}.}" loading="lazy"></span></dd></dl>
<p>In both matrices, the columns are multiples of each other, so either column can be used. Thus, <span class="texhtml">(1, −2)</span> can be taken as an eigenvector associated with the eigenvalue -2, and <span class="texhtml">(3, −1)</span> as an eigenvector associated with the eigenvalue 3, as can be verified by multiplying them by <span class="texhtml"><i>A</i></span>.
</p>
<div class="mw-heading mw-heading3"><h3 id="Symmetric_3×3_matrices">Symmetric 3×3 matrices</h3></div>
<p>The characteristic equation of a symmetric 3×3 matrix <span class="texhtml"><i>A</i></span> is:
</p>
<dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \det \left(\alpha I-A\right)=\alpha ^{3}-\alpha ^{2}{\rm {tr}}(A)-\alpha {\frac {1}{2}}\left({\rm {tr}}(A^{2})-{\rm {tr}}^{2}(A)\right)-\det(A)=0.}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mo movablelimits="true" form="prefix">det</mo>
<mrow>
<mo>(</mo>
<mrow>
<mi>α<!-- α --></mi>
<mi>I</mi>
<mo>−<!-- − --></mo>
<mi>A</mi>
</mrow>
<mo>)</mo>
</mrow>
<mo>=</mo>
<msup>
<mi>α<!-- α --></mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>3</mn>
</mrow>
</msup>
<mo>−<!-- − --></mo>
<msup>
<mi>α<!-- α --></mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msup>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="normal">t</mi>
<mi mathvariant="normal">r</mi>
</mrow>
</mrow>
<mo stretchy="false">(</mo>
<mi>A</mi>
<mo stretchy="false">)</mo>
<mo>−<!-- − --></mo>
<mi>α<!-- α --></mi>
<mrow class="MJX-TeXAtom-ORD">
<mfrac>
<mn>1</mn>
<mn>2</mn>
</mfrac>
</mrow>
<mrow>
<mo>(</mo>
<mrow>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="normal">t</mi>
<mi mathvariant="normal">r</mi>
</mrow>
</mrow>
<mo stretchy="false">(</mo>
<msup>
<mi>A</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msup>
<mo stretchy="false">)</mo>
<mo>−<!-- − --></mo>
<msup>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="normal">t</mi>
<mi mathvariant="normal">r</mi>
</mrow>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msup>
<mo stretchy="false">(</mo>
<mi>A</mi>
<mo stretchy="false">)</mo>
</mrow>
<mo>)</mo>
</mrow>
<mo>−<!-- − --></mo>
<mo movablelimits="true" form="prefix">det</mo>
<mo stretchy="false">(</mo>
<mi>A</mi>
<mo stretchy="false">)</mo>
<mo>=</mo>
<mn>0.</mn>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \det \left(\alpha I-A\right)=\alpha ^{3}-\alpha ^{2}{\rm {tr}}(A)-\alpha {\frac {1}{2}}\left({\rm {tr}}(A^{2})-{\rm {tr}}^{2}(A)\right)-\det(A)=0.}</annotation>
</semantics>
</math></span><img src="./ffbf02e8c10684b9dd01ffb42868f92562de4e52.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.838ex; width:68.12ex; height:5.176ex;" alt="{\displaystyle \det \left(\alpha I-A\right)=\alpha ^{3}-\alpha ^{2}{\rm {tr}}(A)-\alpha {\frac {1}{2}}\left({\rm {tr}}(A^{2})-{\rm {tr}}^{2}(A)\right)-\det(A)=0.}" loading="lazy"></span></dd></dl>
<p>This equation may be solved using the methods of <a href="Cubic_equation#Cardano's_method" title="Cubic equation">Cardano</a> or <a href="Cubic_equation#Lagrange's_method" title="Cubic equation">Lagrange</a>, but an affine change to <span class="texhtml"><i>A</i></span> will simplify the expression considerably, and lead directly to a <a href="Cubic_equation#Trigonometric_and_hyperbolic_solutions" title="Cubic equation">trigonometric solution</a>. If <span class="texhtml"><i>A</i> = <i>pB</i> + <i>qI</i></span>, then <span class="texhtml"><i>A</i></span> and <span class="texhtml"><i>B</i></span> have the same eigenvectors, and <span class="texhtml"><i>β</i></span> is an eigenvalue of <span class="texhtml"><i>B</i></span> if and only if <span class="texhtml"><i>α</i> = <i>pβ</i> + <i>q</i></span> is an eigenvalue of <span class="texhtml"><i>A</i></span>. Letting <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\textstyle q={\rm {tr}}(A)/3}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="false" scriptlevel="0">
<mi>q</mi>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="normal">t</mi>
<mi mathvariant="normal">r</mi>
</mrow>
</mrow>
<mo stretchy="false">(</mo>
<mi>A</mi>
<mo stretchy="false">)</mo>
<mrow class="MJX-TeXAtom-ORD">
<mo>/</mo>
</mrow>
<mn>3</mn>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\textstyle q={\rm {tr}}(A)/3}</annotation>
</semantics>
</math></span><img src="./28790c2a9b2b7c70fbed039afe2c176597a41530.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:11.862ex; height:2.843ex;" alt="{\textstyle q={\rm {tr}}(A)/3}" loading="lazy"></span> and <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\textstyle p=\left({\rm {tr}}\left((A-qI)^{2}\right)/6\right)^{1/2}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="false" scriptlevel="0">
<mi>p</mi>
<mo>=</mo>
<msup>
<mrow>
<mo>(</mo>
<mrow>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="normal">t</mi>
<mi mathvariant="normal">r</mi>
</mrow>
</mrow>
<mrow>
<mo>(</mo>
<mrow>
<mo stretchy="false">(</mo>
<mi>A</mi>
<mo>−<!-- − --></mo>
<mi>q</mi>
<mi>I</mi>
<msup>
<mo stretchy="false">)</mo>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msup>
</mrow>
<mo>)</mo>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mo>/</mo>
</mrow>
<mn>6</mn>
</mrow>
<mo>)</mo>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
<mrow class="MJX-TeXAtom-ORD">
<mo>/</mo>
</mrow>
<mn>2</mn>
</mrow>
</msup>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\textstyle p=\left({\rm {tr}}\left((A-qI)^{2}\right)/6\right)^{1/2}}</annotation>
</semantics>
</math></span><img src="./d4325ad96f66dbe993bb5e6c3a035d7c2d7ce030.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; margin-left: -0.089ex; width:25.919ex; height:3.843ex;" alt="{\textstyle p=\left({\rm {tr}}\left((A-qI)^{2}\right)/6\right)^{1/2}}" loading="lazy"></span>, gives
</p>
<dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \det \left(\beta I-B\right)=\beta ^{3}-3\beta -\det(B)=0.}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mo movablelimits="true" form="prefix">det</mo>
<mrow>
<mo>(</mo>
<mrow>
<mi>β<!-- β --></mi>
<mi>I</mi>
<mo>−<!-- − --></mo>
<mi>B</mi>
</mrow>
<mo>)</mo>
</mrow>
<mo>=</mo>
<msup>
<mi>β<!-- β --></mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>3</mn>
</mrow>
</msup>
<mo>−<!-- − --></mo>
<mn>3</mn>
<mi>β<!-- β --></mi>
<mo>−<!-- − --></mo>
<mo movablelimits="true" form="prefix">det</mo>
<mo stretchy="false">(</mo>
<mi>B</mi>
<mo stretchy="false">)</mo>
<mo>=</mo>
<mn>0.</mn>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \det \left(\beta I-B\right)=\beta ^{3}-3\beta -\det(B)=0.}</annotation>
</semantics>
</math></span><img src="./329f3ae40802734bdccd404ecf889f4d13527519.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:37.91ex; height:3.176ex;" alt="{\displaystyle \det \left(\beta I-B\right)=\beta ^{3}-3\beta -\det(B)=0.}" loading="lazy"></span></dd></dl>
<p>The substitution <span class="texhtml"><i>β</i> = 2cos <i>θ</i></span> and some simplification using the identity <span class="texhtml">cos 3<i>θ</i> = 4cos<sup>3</sup> <i>θ</i> − 3cos <i>θ</i></span> reduces the equation to <span class="texhtml">cos 3<i>θ</i> = det(<i>B</i>) / 2</span>. Thus
</p>
<dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \beta =2{\cos }\left({\frac {1}{3}}{\arccos }\left(\det(B)/2\right)+{\frac {2k\pi }{3}}\right),\quad k=0,1,2.}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>β<!-- β --></mi>
<mo>=</mo>
<mn>2</mn>
<mrow class="MJX-TeXAtom-ORD">
<mi>cos</mi>
</mrow>
<mrow>
<mo>(</mo>
<mrow>
<mrow class="MJX-TeXAtom-ORD">
<mfrac>
<mn>1</mn>
<mn>3</mn>
</mfrac>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>arccos</mi>
</mrow>
<mrow>
<mo>(</mo>
<mrow>
<mo movablelimits="true" form="prefix">det</mo>
<mo stretchy="false">(</mo>
<mi>B</mi>
<mo stretchy="false">)</mo>
<mrow class="MJX-TeXAtom-ORD">
<mo>/</mo>
</mrow>
<mn>2</mn>
</mrow>
<mo>)</mo>
</mrow>
<mo>+</mo>
<mrow class="MJX-TeXAtom-ORD">
<mfrac>
<mrow>
<mn>2</mn>
<mi>k</mi>
<mi>π<!-- π --></mi>
</mrow>
<mn>3</mn>
</mfrac>
</mrow>
</mrow>
<mo>)</mo>
</mrow>
<mo>,</mo>
<mspace width="1em"></mspace>
<mi>k</mi>
<mo>=</mo>
<mn>0</mn>
<mo>,</mo>
<mn>1</mn>
<mo>,</mo>
<mn>2.</mn>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \beta =2{\cos }\left({\frac {1}{3}}{\arccos }\left(\det(B)/2\right)+{\frac {2k\pi }{3}}\right),\quad k=0,1,2.}</annotation>
</semantics>
</math></span><img src="./d2c9859fc2881fcf7a72339b183404210abb9510.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -2.505ex; width:53.69ex; height:6.176ex;" alt="{\displaystyle \beta =2{\cos }\left({\frac {1}{3}}{\arccos }\left(\det(B)/2\right)+{\frac {2k\pi }{3}}\right),\quad k=0,1,2.}" loading="lazy"></span></dd></dl>
<p>If <span class="texhtml">det(<i>B</i>)</span> is complex or is greater than 2 in absolute value, the arccosine should be taken along the same branch for all three values of <span class="texhtml"><i>k</i></span>. This issue doesn't arise when <span class="texhtml"><i>A</i></span> is real and symmetric, resulting in a simple algorithm:<sup id="cite_ref-Smith_20-0" class="reference"><a href="#cite_note-Smith-20"><span class="cite-bracket">[</span>17<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-highlight mw-highlight-lang-matlab mw-content-ltr" dir="ltr"><pre><span class="c">% Given a real symmetric 3x3 matrix A, compute the eigenvalues</span>
<span class="c">% Note that acos and cos operate on angles in radians</span>

<span class="n">p1</span><span class="w"> </span><span class="p">=</span><span class="w"> </span><span class="n">A</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="mi">2</span><span class="p">)</span><span class="o">^</span><span class="mi">2</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="n">A</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="mi">3</span><span class="p">)</span><span class="o">^</span><span class="mi">2</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="n">A</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="mi">3</span><span class="p">)</span><span class="o">^</span><span class="mi">2</span>
<span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">p1</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span><span class="w"> </span>
<span class="w"> </span><span class="c">% A is diagonal.</span>
<span class="w"> </span><span class="n">eig1</span><span class="w"> </span><span class="p">=</span><span class="w"> </span><span class="n">A</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="mi">1</span><span class="p">)</span>
<span class="w"> </span><span class="n">eig2</span><span class="w"> </span><span class="p">=</span><span class="w"> </span><span class="n">A</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="mi">2</span><span class="p">)</span>
<span class="w"> </span><span class="n">eig3</span><span class="w"> </span><span class="p">=</span><span class="w"> </span><span class="n">A</span><span class="p">(</span><span class="mi">3</span><span class="p">,</span><span class="mi">3</span><span class="p">)</span>
<span class="k">else</span>
<span class="w"> </span><span class="n">q</span><span class="w"> </span><span class="p">=</span><span class="w"> </span><span class="nb">trace</span><span class="p">(</span><span class="n">A</span><span class="p">)</span><span class="o">/</span><span class="mi">3</span><span class="w"> </span><span class="c">% trace(A) is the sum of all diagonal values</span>
<span class="w"> </span><span class="n">p2</span><span class="w"> </span><span class="p">=</span><span class="w"> </span><span class="p">(</span><span class="n">A</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="mi">1</span><span class="p">)</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="n">q</span><span class="p">)</span><span class="o">^</span><span class="mi">2</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="p">(</span><span class="n">A</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="mi">2</span><span class="p">)</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="n">q</span><span class="p">)</span><span class="o">^</span><span class="mi">2</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="p">(</span><span class="n">A</span><span class="p">(</span><span class="mi">3</span><span class="p">,</span><span class="mi">3</span><span class="p">)</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="n">q</span><span class="p">)</span><span class="o">^</span><span class="mi">2</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="mi">2</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="n">p1</span>
<span class="w"> </span><span class="n">p</span><span class="w"> </span><span class="p">=</span><span class="w"> </span><span class="nb">sqrt</span><span class="p">(</span><span class="n">p2</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="mi">6</span><span class="p">)</span>
<span class="w"> </span><span class="n">B</span><span class="w"> </span><span class="p">=</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="n">p</span><span class="p">)</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="p">(</span><span class="n">A</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="n">q</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="n">I</span><span class="p">)</span><span class="w"> </span><span class="c">% I is the identity matrix</span>
<span class="w"> </span><span class="n">r</span><span class="w"> </span><span class="p">=</span><span class="w"> </span><span class="nb">det</span><span class="p">(</span><span class="n">B</span><span class="p">)</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="mi">2</span>

<span class="w"> </span><span class="c">% In exact arithmetic for a symmetric matrix -1 &lt;= r &lt;= 1</span>
<span class="w"> </span><span class="c">% but computation error can leave it slightly outside this range.</span>
<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">r</span><span class="w"> </span><span class="o">&lt;=</span><span class="w"> </span><span class="o">-</span><span class="mi">1</span><span class="p">)</span><span class="w"> </span>
<span class="w"> </span><span class="n">phi</span><span class="w"> </span><span class="p">=</span><span class="w"> </span><span class="nb">pi</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="mi">3</span>
<span class="w"> </span><span class="k">elseif</span><span class="w"> </span><span class="p">(</span><span class="n">r</span><span class="w"> </span><span class="o">&gt;=</span><span class="w"> </span><span class="mi">1</span><span class="p">)</span>
<span class="w"> </span><span class="n">phi</span><span class="w"> </span><span class="p">=</span><span class="w"> </span><span class="mi">0</span>
<span class="w"> </span><span class="k">else</span>
<span class="w"> </span><span class="n">phi</span><span class="w"> </span><span class="p">=</span><span class="w"> </span><span class="nb">acos</span><span class="p">(</span><span class="n">r</span><span class="p">)</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="mi">3</span>
<span class="w"> </span><span class="k">end</span>

<span class="w"> </span><span class="c">% the eigenvalues satisfy eig3 &lt;= eig2 &lt;= eig1</span>
<span class="w"> </span><span class="n">eig1</span><span class="w"> </span><span class="p">=</span><span class="w"> </span><span class="n">q</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="mi">2</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="n">p</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="nb">cos</span><span class="p">(</span><span class="n">phi</span><span class="p">)</span>
<span class="w"> </span><span class="n">eig3</span><span class="w"> </span><span class="p">=</span><span class="w"> </span><span class="n">q</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="mi">2</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="n">p</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="nb">cos</span><span class="p">(</span><span class="n">phi</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="p">(</span><span class="mi">2</span><span class="o">*</span><span class="nb">pi</span><span class="o">/</span><span class="mi">3</span><span class="p">))</span>
<span class="w"> </span><span class="n">eig2</span><span class="w"> </span><span class="p">=</span><span class="w"> </span><span class="mi">3</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="n">q</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="n">eig1</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="n">eig3</span><span class="w"> </span><span class="c">% since trace(A) = eig1 + eig2 + eig3</span>
<span class="k">end</span>
</pre></div>
<p>Once again, the eigenvectors of <span class="texhtml"><i>A</i></span> can be obtained by recourse to the <a href="Cayley%E2%80%93Hamilton_theorem" title="Cayley–Hamilton theorem">Cayley–Hamilton theorem</a>. If <span class="texhtml"><i>α</i><sub>1</sub>, <i>α</i><sub>2</sub>, <i>α</i><sub>3</sub></span> are distinct eigenvalues of <span class="texhtml"><i>A</i></span>, then <span class="texhtml">(<i>A</i> − <i>α</i><sub>1</sub><i>I</i>)(<i>A</i> − <i>α</i><sub>2</sub><i>I</i>)(<i>A</i> − <i>α</i><sub>3</sub><i>I</i>) = 0</span>. Thus the columns of the product of any two of these matrices will contain an eigenvector for the third eigenvalue. However, if <span class="texhtml"><i>α</i><sub>3</sub> = <i>α</i><sub>1</sub></span>, then <span class="texhtml">(<i>A</i> − <i>α</i><sub>1</sub><i>I</i>)<sup>2</sup>(<i>A</i> − <i>α</i><sub>2</sub><i>I</i>) = 0</span> and <span class="texhtml">(<i>A</i> − <i>α</i><sub>2</sub><i>I</i>)(<i>A</i> − <i>α</i><sub>1</sub><i>I</i>)<sup>2</sup> = 0</span>. Thus the <i>generalized</i> eigenspace of <span class="texhtml"><i>α</i><sub>1</sub></span> is spanned by the columns of <span class="texhtml"><i>A</i> − <i>α</i><sub>2</sub><i>I</i></span> while the ordinary eigenspace is spanned by the columns of <span class="texhtml">(<i>A</i> − <i>α</i><sub>1</sub><i>I</i>)(<i>A</i> − <i>α</i><sub>2</sub><i>I</i>)</span>. The ordinary eigenspace of <span class="texhtml"><i>α</i><sub>2</sub></span> is spanned by the columns of <span class="texhtml">(<i>A</i> − <i>α</i><sub>1</sub><i>I</i>)<sup>2</sup></span>.
</p><p>For example, let
</p>
<dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle A={\begin{bmatrix}3&amp;2&amp;6\\2&amp;2&amp;5\\-2&amp;-1&amp;-4\end{bmatrix}}.}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>A</mi>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
<mrow>
<mo>[</mo>
<mtable rowspacing="4pt" columnspacing="1em">
<mtr>
<mtd>
<mn>3</mn>
</mtd>
<mtd>
<mn>2</mn>
</mtd>
<mtd>
<mn>6</mn>
</mtd>
</mtr>
<mtr>
<mtd>
<mn>2</mn>
</mtd>
<mtd>
<mn>2</mn>
</mtd>
<mtd>
<mn>5</mn>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>−<!-- − --></mo>
<mn>2</mn>
</mtd>
<mtd>
<mo>−<!-- − --></mo>
<mn>1</mn>
</mtd>
<mtd>
<mo>−<!-- − --></mo>
<mn>4</mn>
</mtd>
</mtr>
</mtable>
<mo>]</mo>
</mrow>
</mrow>
<mo>.</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle A={\begin{bmatrix}3&amp;2&amp;6\\2&amp;2&amp;5\\-2&amp;-1&amp;-4\end{bmatrix}}.}</annotation>
</semantics>
</math></span><img src="./536364812fba3010f745886244d6b8777d2ae272.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -4.005ex; width:22.897ex; height:9.176ex;" alt="{\displaystyle A={\begin{bmatrix}3&amp;2&amp;6\\2&amp;2&amp;5\\-2&amp;-1&amp;-4\end{bmatrix}}.}" loading="lazy"></span></dd></dl>
<p>The characteristic equation is
</p>
<dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle 0=\lambda ^{3}-\lambda ^{2}-\lambda +1=(\lambda -1)^{2}(\lambda +1),}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mn>0</mn>
<mo>=</mo>
<msup>
<mi>λ<!-- λ --></mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>3</mn>
</mrow>
</msup>
<mo>−<!-- − --></mo>
<msup>
<mi>λ<!-- λ --></mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msup>
<mo>−<!-- − --></mo>
<mi>λ<!-- λ --></mi>
<mo>+</mo>
<mn>1</mn>
<mo>=</mo>
<mo stretchy="false">(</mo>
<mi>λ<!-- λ --></mi>
<mo>−<!-- − --></mo>
<mn>1</mn>
<msup>
<mo stretchy="false">)</mo>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msup>
<mo stretchy="false">(</mo>
<mi>λ<!-- λ --></mi>
<mo>+</mo>
<mn>1</mn>
<mo stretchy="false">)</mo>
<mo>,</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle 0=\lambda ^{3}-\lambda ^{2}-\lambda +1=(\lambda -1)^{2}(\lambda +1),}</annotation>
</semantics>
</math></span><img src="./9c6cf125fe59199c2f67d4dbbcdc567d82dfae40.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:39.253ex; height:3.176ex;" alt="{\displaystyle 0=\lambda ^{3}-\lambda ^{2}-\lambda +1=(\lambda -1)^{2}(\lambda +1),}" loading="lazy"></span></dd></dl>
<p>with eigenvalues 1 (of multiplicity 2) and -1. Calculating,
</p>
<dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle A-I={\begin{bmatrix}2&amp;2&amp;6\\2&amp;1&amp;5\\-2&amp;-1&amp;-5\end{bmatrix}},\qquad A+I={\begin{bmatrix}4&amp;2&amp;6\\2&amp;3&amp;5\\-2&amp;-1&amp;-3\end{bmatrix}}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>A</mi>
<mo>−<!-- − --></mo>
<mi>I</mi>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
<mrow>
<mo>[</mo>
<mtable rowspacing="4pt" columnspacing="1em">
<mtr>
<mtd>
<mn>2</mn>
</mtd>
<mtd>
<mn>2</mn>
</mtd>
<mtd>
<mn>6</mn>
</mtd>
</mtr>
<mtr>
<mtd>
<mn>2</mn>
</mtd>
<mtd>
<mn>1</mn>
</mtd>
<mtd>
<mn>5</mn>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>−<!-- − --></mo>
<mn>2</mn>
</mtd>
<mtd>
<mo>−<!-- − --></mo>
<mn>1</mn>
</mtd>
<mtd>
<mo>−<!-- − --></mo>
<mn>5</mn>
</mtd>
</mtr>
</mtable>
<mo>]</mo>
</mrow>
</mrow>
<mo>,</mo>
<mspace width="2em"></mspace>
<mi>A</mi>
<mo>+</mo>
<mi>I</mi>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
<mrow>
<mo>[</mo>
<mtable rowspacing="4pt" columnspacing="1em">
<mtr>
<mtd>
<mn>4</mn>
</mtd>
<mtd>
<mn>2</mn>
</mtd>
<mtd>
<mn>6</mn>
</mtd>
</mtr>
<mtr>
<mtd>
<mn>2</mn>
</mtd>
<mtd>
<mn>3</mn>
</mtd>
<mtd>
<mn>5</mn>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>−<!-- − --></mo>
<mn>2</mn>
</mtd>
<mtd>
<mo>−<!-- − --></mo>
<mn>1</mn>
</mtd>
<mtd>
<mo>−<!-- − --></mo>
<mn>3</mn>
</mtd>
</mtr>
</mtable>
<mo>]</mo>
</mrow>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle A-I={\begin{bmatrix}2&amp;2&amp;6\\2&amp;1&amp;5\\-2&amp;-1&amp;-5\end{bmatrix}},\qquad A+I={\begin{bmatrix}4&amp;2&amp;6\\2&amp;3&amp;5\\-2&amp;-1&amp;-3\end{bmatrix}}}</annotation>
</semantics>
</math></span><img src="./d3f473f32a828ff3fe53146313ca909877f5395b.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -4.005ex; width:58.205ex; height:9.176ex;" alt="{\displaystyle A-I={\begin{bmatrix}2&amp;2&amp;6\\2&amp;1&amp;5\\-2&amp;-1&amp;-5\end{bmatrix}},\qquad A+I={\begin{bmatrix}4&amp;2&amp;6\\2&amp;3&amp;5\\-2&amp;-1&amp;-3\end{bmatrix}}}" loading="lazy"></span></dd></dl>
<p>and
</p>
<dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle (A-I)^{2}={\begin{bmatrix}-4&amp;0&amp;-8\\-4&amp;0&amp;-8\\4&amp;0&amp;8\end{bmatrix}},\qquad (A-I)(A+I)={\begin{bmatrix}0&amp;4&amp;4\\0&amp;2&amp;2\\0&amp;-2&amp;-2\end{bmatrix}}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mo stretchy="false">(</mo>
<mi>A</mi>
<mo>−<!-- − --></mo>
<mi>I</mi>
<msup>
<mo stretchy="false">)</mo>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msup>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
<mrow>
<mo>[</mo>
<mtable rowspacing="4pt" columnspacing="1em">
<mtr>
<mtd>
<mo>−<!-- − --></mo>
<mn>4</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mo>−<!-- − --></mo>
<mn>8</mn>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>−<!-- − --></mo>
<mn>4</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mo>−<!-- − --></mo>
<mn>8</mn>
</mtd>
</mtr>
<mtr>
<mtd>
<mn>4</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>8</mn>
</mtd>
</mtr>
</mtable>
<mo>]</mo>
</mrow>
</mrow>
<mo>,</mo>
<mspace width="2em"></mspace>
<mo stretchy="false">(</mo>
<mi>A</mi>
<mo>−<!-- − --></mo>
<mi>I</mi>
<mo stretchy="false">)</mo>
<mo stretchy="false">(</mo>
<mi>A</mi>
<mo>+</mo>
<mi>I</mi>
<mo stretchy="false">)</mo>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
<mrow>
<mo>[</mo>
<mtable rowspacing="4pt" columnspacing="1em">
<mtr>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>4</mn>
</mtd>
<mtd>
<mn>4</mn>
</mtd>
</mtr>
<mtr>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>2</mn>
</mtd>
<mtd>
<mn>2</mn>
</mtd>
</mtr>
<mtr>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mo>−<!-- − --></mo>
<mn>2</mn>
</mtd>
<mtd>
<mo>−<!-- − --></mo>
<mn>2</mn>
</mtd>
</mtr>
</mtable>
<mo>]</mo>
</mrow>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle (A-I)^{2}={\begin{bmatrix}-4&amp;0&amp;-8\\-4&amp;0&amp;-8\\4&amp;0&amp;8\end{bmatrix}},\qquad (A-I)(A+I)={\begin{bmatrix}0&amp;4&amp;4\\0&amp;2&amp;2\\0&amp;-2&amp;-2\end{bmatrix}}}</annotation>
</semantics>
</math></span><img src="./540d7641bc513223c828317050f2722c02d6d871.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -4.005ex; width:66.826ex; height:9.176ex;" alt="{\displaystyle (A-I)^{2}={\begin{bmatrix}-4&amp;0&amp;-8\\-4&amp;0&amp;-8\\4&amp;0&amp;8\end{bmatrix}},\qquad (A-I)(A+I)={\begin{bmatrix}0&amp;4&amp;4\\0&amp;2&amp;2\\0&amp;-2&amp;-2\end{bmatrix}}}" loading="lazy"></span></dd></dl>
<p>Thus <span class="texhtml">(−4, −4, 4)</span> is an eigenvector for −1, and <span class="texhtml">(4, 2, −2)</span> is an eigenvector for 1. <span class="texhtml">(2, 3, −1)</span> and <span class="texhtml">(6, 5, −3)</span> are both generalized eigenvectors associated with 1, either one of which could be combined with <span class="texhtml">(−4, −4, 4)</span> and <span class="texhtml">(4, 2, −2)</span> to form a basis of generalized eigenvectors of <span class="texhtml"><i>A</i></span>. Once found, the eigenvectors can be normalized if needed.
</p>
<div class="mw-heading mw-heading4"><h4 id="Eigenvectors_of_normal_3×3_matrices">Eigenvectors of normal 3×3 matrices</h4></div>
<p>If a 3×3 matrix <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle A}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>A</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle A}</annotation>
</semantics>
</math></span><img src="./7daff47fa58cdfd29dc333def748ff5fa4c923e3.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.743ex; height:2.176ex;" alt="{\displaystyle A}" loading="lazy"></span> is normal, then the cross-product can be used to find eigenvectors. If <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \lambda }">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>λ<!-- λ --></mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \lambda }</annotation>
</semantics>
</math></span><img src="./b43d0ea3c9c025af1be9128e62a18fa74bedda2a.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.355ex; height:2.176ex;" alt="{\displaystyle \lambda }" loading="lazy"></span> is an eigenvalue of <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle A}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>A</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle A}</annotation>
</semantics>
</math></span><img src="./7daff47fa58cdfd29dc333def748ff5fa4c923e3.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.743ex; height:2.176ex;" alt="{\displaystyle A}" loading="lazy"></span>, then the null space of <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle A-\lambda I}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>A</mi>
<mo>−<!-- − --></mo>
<mi>λ<!-- λ --></mi>
<mi>I</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle A-\lambda I}</annotation>
</semantics>
</math></span><img src="./2ba67e098a60d3285b10f2e76be219fc3c52d690.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.505ex; width:7.11ex; height:2.343ex;" alt="{\displaystyle A-\lambda I}" loading="lazy"></span> is perpendicular to its column space. The <a href="Cross_product" title="Cross product">cross product</a> of two independent columns of <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle A-\lambda I}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>A</mi>
<mo>−<!-- − --></mo>
<mi>λ<!-- λ --></mi>
<mi>I</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle A-\lambda I}</annotation>
</semantics>
</math></span><img src="./2ba67e098a60d3285b10f2e76be219fc3c52d690.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.505ex; width:7.11ex; height:2.343ex;" alt="{\displaystyle A-\lambda I}" loading="lazy"></span> will be in the null space. That is, it will be an eigenvector associated with <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \lambda }">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>λ<!-- λ --></mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \lambda }</annotation>
</semantics>
</math></span><img src="./b43d0ea3c9c025af1be9128e62a18fa74bedda2a.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.355ex; height:2.176ex;" alt="{\displaystyle \lambda }" loading="lazy"></span>. Since the column space is two dimensional in this case, the eigenspace must be one dimensional, so any other eigenvector will be parallel to it.
</p><p>If <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle A-\lambda I}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>A</mi>
<mo>−<!-- − --></mo>
<mi>λ<!-- λ --></mi>
<mi>I</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle A-\lambda I}</annotation>
</semantics>
</math></span><img src="./2ba67e098a60d3285b10f2e76be219fc3c52d690.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.505ex; width:7.11ex; height:2.343ex;" alt="{\displaystyle A-\lambda I}" loading="lazy"></span> does not contain two independent columns but is not <span class="texhtml"><b>0</b></span>, the cross-product can still be used. In this case <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \lambda }">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>λ<!-- λ --></mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \lambda }</annotation>
</semantics>
</math></span><img src="./b43d0ea3c9c025af1be9128e62a18fa74bedda2a.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.355ex; height:2.176ex;" alt="{\displaystyle \lambda }" loading="lazy"></span> is an eigenvalue of multiplicity 2, so any vector perpendicular to the column space will be an eigenvector. Suppose <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {v} }">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">v</mi>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {v} }</annotation>
</semantics>
</math></span><img src="./35c1866e359fbfd2e0f606c725ba5cc37a5195d6.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.411ex; height:1.676ex;" alt="{\displaystyle \mathbf {v} }" loading="lazy"></span> is a non-zero column of <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle A-\lambda I}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>A</mi>
<mo>−<!-- − --></mo>
<mi>λ<!-- λ --></mi>
<mi>I</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle A-\lambda I}</annotation>
</semantics>
</math></span><img src="./2ba67e098a60d3285b10f2e76be219fc3c52d690.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.505ex; width:7.11ex; height:2.343ex;" alt="{\displaystyle A-\lambda I}" loading="lazy"></span>. Choose an arbitrary vector <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {u} }">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">u</mi>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {u} }</annotation>
</semantics>
</math></span><img src="./261e20fe101de02a771021d9d4466c0ad3e352d7.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.485ex; height:1.676ex;" alt="{\displaystyle \mathbf {u} }" loading="lazy"></span> not parallel to <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {v} }">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">v</mi>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {v} }</annotation>
</semantics>
</math></span><img src="./35c1866e359fbfd2e0f606c725ba5cc37a5195d6.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.411ex; height:1.676ex;" alt="{\displaystyle \mathbf {v} }" loading="lazy"></span>. Then <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {v} \times \mathbf {u} }">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">v</mi>
</mrow>
<mo>×<!-- × --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">u</mi>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {v} \times \mathbf {u} }</annotation>
</semantics>
</math></span><img src="./c8346645f91f9fbfbcc92663aa4d26affa9c9ca7.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:5.737ex; height:1.676ex;" alt="{\displaystyle \mathbf {v} \times \mathbf {u} }" loading="lazy"></span> and <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle (\mathbf {v} \times \mathbf {u} )\times \mathbf {v} }">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mo stretchy="false">(</mo>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">v</mi>
</mrow>
<mo>×<!-- × --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">u</mi>
</mrow>
<mo stretchy="false">)</mo>
<mo>×<!-- × --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">v</mi>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle (\mathbf {v} \times \mathbf {u} )\times \mathbf {v} }</annotation>
</semantics>
</math></span><img src="./5544ddcc9a535f4e308d2b60285854f018034b94.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:11.797ex; height:2.843ex;" alt="{\displaystyle (\mathbf {v} \times \mathbf {u} )\times \mathbf {v} }" loading="lazy"></span> will be perpendicular to <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {v} }">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">v</mi>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {v} }</annotation>
</semantics>
</math></span><img src="./35c1866e359fbfd2e0f606c725ba5cc37a5195d6.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.411ex; height:1.676ex;" alt="{\displaystyle \mathbf {v} }" loading="lazy"></span> and thus will be eigenvectors of <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \lambda }">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>λ<!-- λ --></mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \lambda }</annotation>
</semantics>
</math></span><img src="./b43d0ea3c9c025af1be9128e62a18fa74bedda2a.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.355ex; height:2.176ex;" alt="{\displaystyle \lambda }" loading="lazy"></span>.
</p><p>This does not work when <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle A}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>A</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle A}</annotation>
</semantics>
</math></span><img src="./7daff47fa58cdfd29dc333def748ff5fa4c923e3.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.743ex; height:2.176ex;" alt="{\displaystyle A}" loading="lazy"></span> is not normal, as the null space and column space do not need to be perpendicular for such matrices.
</p>
<div class="mw-heading mw-heading2"><h2 id="See_also">See also</h2></div>
<ul><li><a href="List_of_numerical_analysis_topics#Eigenvalue_algorithms" title="List of numerical analysis topics">List of eigenvalue algorithms</a></li></ul>
<div class="mw-heading mw-heading2"><h2 id="Notes">Notes</h2></div>
<style data-mw-deduplicate="TemplateStyles:r1239543626">
/* start https://en.wikipedia.org/ */


.mw-parser-output .reflist{margin-bottom:0.5em;list-style-type:decimal}@media screen{.mw-parser-output .reflist{font-size:90%}}.mw-parser-output .reflist .references{font-size:100%;margin-bottom:0;list-style-type:inherit}.mw-parser-output .reflist-columns-2{column-width:30em}.mw-parser-output .reflist-columns-3{column-width:25em}.mw-parser-output .reflist-columns{margin-top:0.3em}.mw-parser-output .reflist-columns ol{margin-top:0}.mw-parser-output .reflist-columns li{page-break-inside:avoid;break-inside:avoid-column}.mw-parser-output .reflist-upper-alpha{list-style-type:upper-alpha}.mw-parser-output .reflist-upper-roman{list-style-type:upper-roman}.mw-parser-output .reflist-lower-alpha{list-style-type:lower-alpha}.mw-parser-output .reflist-lower-greek{list-style-type:lower-greek}.mw-parser-output .reflist-lower-roman{list-style-type:lower-roman}


/* end https://en.wikipedia.org/ */
</style><div class="reflist">
<div class="mw-references-wrap"><ol class="references">
<li id="cite_note-2"><span class="mw-cite-backlink"><b><a href="#cite_ref-2">^</a></b></span> <span class="reference-text">The term "ordinary" is used here only to emphasize the distinction between "eigenvector" and "generalized eigenvector".</span>
</li>
<li id="cite_note-3"><span class="mw-cite-backlink"><b><a href="#cite_ref-3">^</a></b></span> <span class="reference-text">where the constant term is multiplied by the identity matrix <span class="texhtml"><i>I</i></span>.</span>
</li>
<li id="cite_note-4"><span class="mw-cite-backlink"><b><a href="#cite_ref-4">^</a></b></span> <span class="reference-text">This ordering of the inner product (with the conjugate-linear position on the left), is preferred by physicists. Algebraists often place the conjugate-linear position on the right: <span class="texhtml"><b>w</b> ⋅ <b>v</b> = <b>v</b><sup>*</sup> <b>w</b></span>.</span>
</li>
</ol></div></div>
<div class="mw-heading mw-heading2"><h2 id="References">References</h2></div>
<div class="reflist">
<div class="mw-references-wrap mw-references-columns"><ol class="references">
<li id="cite_note-Axler-1"><span class="mw-cite-backlink"><b><a href="#cite_ref-Axler_1-0">^</a></b></span> <span class="reference-text"><style data-mw-deduplicate="TemplateStyles:r1238218222">
/* start https://en.wikipedia.org/ */


.mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free.id-lock-free a{background:url("./mw/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited.id-lock-limited a,.mw-parser-output .id-lock-registration.id-lock-registration a{background:url("./mw/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription.id-lock-subscription a{background:url("./mw/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("./mw/Wikisource-logo.svg")right 0.1em center/12px no-repeat}body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-free a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-limited a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-registration a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-subscription a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .cs1-ws-icon a{background-size:contain;padding:0 1em 0 0}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:var(--color-error,#d33)}.mw-parser-output .cs1-visible-error{color:var(--color-error,#d33)}.mw-parser-output .cs1-maint{display:none;color:#085;margin-left:0.3em}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}@media screen{.mw-parser-output .cs1-format{font-size:95%}html.skin-theme-clientpref-night .mw-parser-output .cs1-maint{color:#18911f}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .cs1-maint{color:#18911f}}


/* end https://en.wikipedia.org/ */
</style><cite id="CITEREFAxler1995" class="citation cs2"><a href="Sheldon_Axler" title="Sheldon Axler">Axler, Sheldon</a> (1995), <a rel="nofollow" class="external text" href="https://web.archive.org/web/20120913111605/http://www.axler.net/DwD.pdf">"Down with Determinants!"</a> <span class="cs1-format">(PDF)</span>, <i>American Mathematical Monthly</i>, <b>102</b> (2): <span class="nowrap">139–</span>154, <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.2307%2F2975348">10.2307/2975348</a>, <a href="JSTOR_(identifier)" class="mw-redirect" title="JSTOR (identifier)">JSTOR</a>&nbsp;<a rel="nofollow" class="external text" href="https://www.jstor.org/stable/2975348">2975348</a>, archived from <a rel="nofollow" class="external text" href="http://www.axler.net/DwD.pdf">the original</a> <span class="cs1-format">(PDF)</span> on 2012-09-13<span class="reference-accessdate">, retrieved <span class="nowrap">2012-07-31</span></span></cite></span>
</li>
<li id="cite_note-5"><span class="mw-cite-backlink"><b><a href="#cite_ref-5">^</a></b></span> <span class="reference-text"><cite id="CITEREFF._L._BauerC._T._Fike1960" class="citation cs2">F. L. Bauer; C. T. Fike (1960), "Norms and exclusion theorems", <i>Numer. Math.</i>, <b>2</b>: <span class="nowrap">137–</span>141, <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1007%2Fbf01386217">10.1007/bf01386217</a>, <a href="S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a>&nbsp;<a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:121278235">121278235</a></cite></span>
</li>
<li id="cite_note-6"><span class="mw-cite-backlink"><b><a href="#cite_ref-6">^</a></b></span> <span class="reference-text"><cite id="CITEREFS.C._EisenstatI.C.F._Ipsen1998" class="citation cs2">S.C. Eisenstat; I.C.F. Ipsen (1998), <span class="id-lock-subscription" title="Paid subscription required"><a rel="nofollow" class="external text" href="http://www.lib.ncsu.edu/resolver/1840.4/286">"Relative Perturbation Results for Eigenvalues and Eigenvectors of Diagonalisable Matrices"</a></span>, <i>BIT</i>, <b>38</b> (3): <span class="nowrap">502–</span>9, <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1007%2Fbf02510256">10.1007/bf02510256</a>, <a href="S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a>&nbsp;<a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:119886389">119886389</a></cite></span>
</li>
<li id="cite_note-t10-7"><span class="mw-cite-backlink"><b><a href="#cite_ref-t10_7-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFJ._Dongarra_and_F._Sullivan2000" class="citation journal cs1">J. Dongarra and F. Sullivan (2000). "Top ten algorithms of the century". <i>Computing in Science and Engineering</i>. <b>2</b>: 22-23. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1109%2FMCISE.2000.814652">10.1109/MCISE.2000.814652</a>.</cite></span>
</li>
<li id="cite_note-8"><span class="mw-cite-backlink"><b><a href="#cite_ref-8">^</a></b></span> <span class="reference-text"><cite id="CITEREFThompson1966" class="citation journal cs1"><a href="Robert_Charles_Thompson" title="Robert Charles Thompson">Thompson, R. C.</a> (June 1966). <a rel="nofollow" class="external text" href="https://doi.org/10.1215%2Fijm%2F1256055111">"Principal submatrices of normal and Hermitian matrices"</a>. <i>Illinois Journal of Mathematics</i>. <b>10</b> (2): <span class="nowrap">296–</span>308. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://doi.org/10.1215%2Fijm%2F1256055111">10.1215/ijm/1256055111</a></span>.</cite></span>
</li>
<li id="cite_note-9"><span class="mw-cite-backlink"><b><a href="#cite_ref-9">^</a></b></span> <span class="reference-text"><cite id="CITEREFPeter_NylenTin-Yau_TamFrank_Uhlig1993" class="citation journal cs1">Peter Nylen; Tin-Yau Tam; Frank Uhlig (1993). "On the eigenvalues of principal submatrices of normal, hermitian and symmetric matrices". <i>Linear and Multilinear Algebra</i>. <b>36</b> (1): <span class="nowrap">69–</span>78. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1080%2F03081089308818276">10.1080/03081089308818276</a>.</cite></span>
</li>
<li id="cite_note-10"><span class="mw-cite-backlink"><b><a href="#cite_ref-10">^</a></b></span> <span class="reference-text"><cite id="CITEREFBebianoFurtadoda_Providência2011" class="citation journal cs1">Bebiano N, Furtado S, da Providência J (2011). <a rel="nofollow" class="external text" href="https://doi.org/10.1016%2Fj.laa.2011.05.033">"On the eigenvalues of principal submatrices of J-normal matrices"</a>. <i>Linear Algebra and Its Applications</i>. <b>435</b> (12): <span class="nowrap">3101–</span>3114. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://doi.org/10.1016%2Fj.laa.2011.05.033">10.1016/j.laa.2011.05.033</a></span>.</cite></span>
</li>
<li id="cite_note-11"><span class="mw-cite-backlink"><b><a href="#cite_ref-11">^</a></b></span> <span class="reference-text"><cite id="CITEREFForresterZhang2021" class="citation journal cs1">Forrester PJ, Zhang J (2021). "Corank-1 projections and the randomised Horn problem". <i>Tunisian Journal of Mathematics</i>. <b>3</b>: <span class="nowrap">55–</span>73. <a href="ArXiv_(identifier)" class="mw-redirect" title="ArXiv (identifier)">arXiv</a>:<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://arxiv.org/abs/1905.05314">1905.05314</a></span>. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.2140%2Ftunis.2021.3.55">10.2140/tunis.2021.3.55</a>. <a href="S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a>&nbsp;<a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:153312446">153312446</a>.</cite></span>
</li>
<li id="cite_note-12"><span class="mw-cite-backlink"><b><a href="#cite_ref-12">^</a></b></span> <span class="reference-text"><cite id="CITEREFDentonParkeTaoZhang2021" class="citation journal cs1">Denton PB, Parke SJ, Tao T, Zhang X (2021). "Eigenvectors from eigenvalues: A survey of a basic identity in linear algebra". <i>Bulletin of the American Mathematical Society</i>. <b>59</b>: 1. <a href="ArXiv_(identifier)" class="mw-redirect" title="ArXiv (identifier)">arXiv</a>:<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://arxiv.org/abs/1908.03795">1908.03795</a></span>. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1090%2Fbull%2F1722">10.1090/bull/1722</a>. <a href="S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a>&nbsp;<a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:213918682">213918682</a>.</cite></span>
</li>
<li id="cite_note-NumericalRecipes-13"><span class="mw-cite-backlink">^ <a href="#cite_ref-NumericalRecipes_13-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-NumericalRecipes_13-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-NumericalRecipes_13-2"><sup><i><b>c</b></i></sup></a></span> <span class="reference-text"><cite id="CITEREFPressTeukolskyVetterlingFlannery1992" class="citation book cs1">Press, William H.; Teukolsky, Saul A.; Vetterling, William T.; Flannery, Brian P. (1992). <span class="id-lock-registration" title="Free registration required"><a rel="nofollow" class="external text" href="https://archive.org/details/numericalrecipes00pres_0"><i>Numerical Recipes in C</i></a></span> (2nd&nbsp;ed.). Cambridge University Press. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&nbsp;<bdi>978-0-521-43108-8</bdi>.</cite></span>
</li>
<li id="cite_note-CoakleyRokhlin-14"><span class="mw-cite-backlink"><b><a href="#cite_ref-CoakleyRokhlin_14-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFCoakley2013" class="citation cs2">Coakley, Ed S. (May 2013), "A fast divide-and-conquer algorithm for computing the spectra of real symmetric tridiagonal matrices.", <i><a href="Applied_and_Computational_Harmonic_Analysis" title="Applied and Computational Harmonic Analysis">Applied and Computational Harmonic Analysis</a></i>, <b>34</b> (3): <span class="nowrap">379–</span>414, <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1016%2Fj.acha.2012.06.003">10.1016/j.acha.2012.06.003</a></cite></span>
</li>
<li id="cite_note-15"><span class="mw-cite-backlink"><b><a href="#cite_ref-15">^</a></b></span> <span class="reference-text"><cite id="CITEREFNeymeyr2006" class="citation cs2">Neymeyr, K. (2006), "A geometric theory for preconditioned inverse iteration IV: On the fastest convergence cases.", <i>Linear Algebra Appl.</i>, <b>415</b> (1): <span class="nowrap">114–</span>139, <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://doi.org/10.1016%2Fj.laa.2005.06.022">10.1016/j.laa.2005.06.022</a></span></cite></span>
</li>
<li id="cite_note-16"><span class="mw-cite-backlink"><b><a href="#cite_ref-16">^</a></b></span> <span class="reference-text"><cite id="CITEREFLiZeng1992" class="citation cs2">Li, T. Y.; Zeng, Zhonggang (1992), "Laguerre's Iteration In Solving The Symmetric Tridiagonal Eigenproblem - Revisited", <i><a href="SIAM_Journal_on_Scientific_Computing" title="SIAM Journal on Scientific Computing">SIAM Journal on Scientific Computing</a></i></cite></span>
</li>
<li id="cite_note-17"><span class="mw-cite-backlink"><b><a href="#cite_ref-17">^</a></b></span> <span class="reference-text"><cite id="CITEREFChu1988" class="citation cs2">Chu, Moody T. (1988), "A Note on the Homotopy Method for Linear Algebraic Eigenvalue Problems", <i>Linear Algebra Appl.</i>, <b>105</b>: <span class="nowrap">225–</span>236, <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://doi.org/10.1016%2F0024-3795%2888%2990015-8">10.1016/0024-3795(88)90015-8</a></span></cite></span>
</li>
<li id="cite_note-18"><span class="mw-cite-backlink"><b><a href="#cite_ref-18">^</a></b></span> <span class="reference-text"><cite id="CITEREFDhillonParlettVömel2006" class="citation cs2">Dhillon, Inderjit S.; Parlett, Beresford N.; Vömel, Christof (2006), <a rel="nofollow" class="external text" href="http://www.cs.utexas.edu/users/inderjit/public_papers/DesignMRRR_toms06.pdf">"The Design and Implementation of the MRRR Algorithm"</a> <span class="cs1-format">(PDF)</span>, <i><a href="ACM_Transactions_on_Mathematical_Software" title="ACM Transactions on Mathematical Software">ACM Transactions on Mathematical Software</a></i>, <b>32</b> (4): <span class="nowrap">533–</span>560, <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1145%2F1186785.1186788">10.1145/1186785.1186788</a>, <a href="S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a>&nbsp;<a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:2410736">2410736</a></cite></span>
</li>
<li id="cite_note-19"><span class="mw-cite-backlink"><b><a href="#cite_ref-19">^</a></b></span> <span class="reference-text"><cite id="CITEREFDelattreBarthélemyAraujoAllauzen2023" class="citation cs2">Delattre, B.; Barthélemy, Q.; Araujo, A.; Allauzen, A. (2023), <a rel="nofollow" class="external text" href="https://proceedings.mlr.press/v202/delattre23a.html">"Efficient Bound of Lipschitz Constant for Convolutional Layers by Gram Iteration"</a>, <i>Proceedings of the 40th International Conference on Machine Learning</i>: <span class="nowrap">7513–</span>7532</cite></span>
</li>
<li id="cite_note-Smith-20"><span class="mw-cite-backlink"><b><a href="#cite_ref-Smith_20-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFSmith1961" class="citation cs2">Smith, Oliver K. (April 1961), "Eigenvalues of a symmetric 3 × 3 matrix.", <i><a href="Communications_of_the_ACM" title="Communications of the ACM">Communications of the ACM</a></i>, <b>4</b> (4): 168, <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://doi.org/10.1145%2F355578.366316">10.1145/355578.366316</a></span>, <a href="S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a>&nbsp;<a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:37815415">37815415</a></cite></span>
</li>
</ol></div></div>
<div class="mw-heading mw-heading2"><h2 id="Further_reading">Further reading</h2></div>
<ul><li><cite id="CITEREFBojanczykAdam_Lutoborski1991" class="citation journal cs1">Bojanczyk, Adam W.; Adam Lutoborski (Jan 1991). <span class="id-lock-subscription" title="Paid subscription required"><a rel="nofollow" class="external text" href="http://cacm.acm.org/magazines/1961/4/14532-eigenvalues-of-a-symmetric-3-%C3%83-3-matrix/abstract">"Computation of the Euler angles of a symmetric 3X3 matrix"</a></span>. <i>SIAM Journal on Matrix Analysis and Applications</i>. <b>12</b> (1): <span class="nowrap">41–</span>48. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1137%2F0612005">10.1137/0612005</a>.</cite></li></ul>
<div class="navbox-styles"><style data-mw-deduplicate="TemplateStyles:r1129693374">
/* start https://en.wikipedia.org/ */


.mw-parser-output .hlist dl,.mw-parser-output .hlist ol,.mw-parser-output .hlist ul{margin:0;padding:0}.mw-parser-output .hlist dd,.mw-parser-output .hlist dt,.mw-parser-output .hlist li{margin:0;display:inline}.mw-parser-output .hlist.inline,.mw-parser-output .hlist.inline dl,.mw-parser-output .hlist.inline ol,.mw-parser-output .hlist.inline ul,.mw-parser-output .hlist dl dl,.mw-parser-output .hlist dl ol,.mw-parser-output .hlist dl ul,.mw-parser-output .hlist ol dl,.mw-parser-output .hlist ol ol,.mw-parser-output .hlist ol ul,.mw-parser-output .hlist ul dl,.mw-parser-output .hlist ul ol,.mw-parser-output .hlist ul ul{display:inline}.mw-parser-output .hlist .mw-empty-li{display:none}.mw-parser-output .hlist dt::after{content:": "}.mw-parser-output .hlist dd::after,.mw-parser-output .hlist li::after{content:" · ";font-weight:bold}.mw-parser-output .hlist dd:last-child::after,.mw-parser-output .hlist dt:last-child::after,.mw-parser-output .hlist li:last-child::after{content:none}.mw-parser-output .hlist dd dd:first-child::before,.mw-parser-output .hlist dd dt:first-child::before,.mw-parser-output .hlist dd li:first-child::before,.mw-parser-output .hlist dt dd:first-child::before,.mw-parser-output .hlist dt dt:first-child::before,.mw-parser-output .hlist dt li:first-child::before,.mw-parser-output .hlist li dd:first-child::before,.mw-parser-output .hlist li dt:first-child::before,.mw-parser-output .hlist li li:first-child::before{content:" (";font-weight:normal}.mw-parser-output .hlist dd dd:last-child::after,.mw-parser-output .hlist dd dt:last-child::after,.mw-parser-output .hlist dd li:last-child::after,.mw-parser-output .hlist dt dd:last-child::after,.mw-parser-output .hlist dt dt:last-child::after,.mw-parser-output .hlist dt li:last-child::after,.mw-parser-output .hlist li dd:last-child::after,.mw-parser-output .hlist li dt:last-child::after,.mw-parser-output .hlist li li:last-child::after{content:")";font-weight:normal}.mw-parser-output .hlist ol{counter-reset:listitem}.mw-parser-output .hlist ol>li{counter-increment:listitem}.mw-parser-output .hlist ol>li::before{content:" "counter(listitem)"\a0 "}.mw-parser-output .hlist dd ol>li:first-child::before,.mw-parser-output .hlist dt ol>li:first-child::before,.mw-parser-output .hlist li ol>li:first-child::before{content:" ("counter(listitem)"\a0 "}


/* end https://en.wikipedia.org/ */
</style><style data-mw-deduplicate="TemplateStyles:r1236075235">
/* start https://en.wikipedia.org/ */


.mw-parser-output .navbox{box-sizing:border-box;border:1px solid #a2a9b1;width:100%;clear:both;font-size:88%;text-align:center;padding:1px;margin:1em auto 0}.mw-parser-output .navbox .navbox{margin-top:0}.mw-parser-output .navbox+.navbox,.mw-parser-output .navbox+.navbox-styles+.navbox{margin-top:-1px}.mw-parser-output .navbox-inner,.mw-parser-output .navbox-subgroup{width:100%}.mw-parser-output .navbox-group,.mw-parser-output .navbox-title,.mw-parser-output .navbox-abovebelow{padding:0.25em 1em;line-height:1.5em;text-align:center}.mw-parser-output .navbox-group{white-space:nowrap;text-align:right}.mw-parser-output .navbox,.mw-parser-output .navbox-subgroup{background-color:#fdfdfd}.mw-parser-output .navbox-list{line-height:1.5em;border-color:#fdfdfd}.mw-parser-output .navbox-list-with-group{text-align:left;border-left-width:2px;border-left-style:solid}.mw-parser-output tr+tr>.navbox-abovebelow,.mw-parser-output tr+tr>.navbox-group,.mw-parser-output tr+tr>.navbox-image,.mw-parser-output tr+tr>.navbox-list{border-top:2px solid #fdfdfd}.mw-parser-output .navbox-title{background-color:#ccf}.mw-parser-output .navbox-abovebelow,.mw-parser-output .navbox-group,.mw-parser-output .navbox-subgroup .navbox-title{background-color:#ddf}.mw-parser-output .navbox-subgroup .navbox-group,.mw-parser-output .navbox-subgroup .navbox-abovebelow{background-color:#e6e6ff}.mw-parser-output .navbox-even{background-color:#f7f7f7}.mw-parser-output .navbox-odd{background-color:transparent}.mw-parser-output .navbox .hlist td dl,.mw-parser-output .navbox .hlist td ol,.mw-parser-output .navbox .hlist td ul,.mw-parser-output .navbox td.hlist dl,.mw-parser-output .navbox td.hlist ol,.mw-parser-output .navbox td.hlist ul{padding:0.125em 0}.mw-parser-output .navbox .navbar{display:block;font-size:100%}.mw-parser-output .navbox-title .navbar{float:left;text-align:left;margin-right:0.5em}body.skin--responsive .mw-parser-output .navbox-image img{max-width:none!important}@media print{body.ns-0 .mw-parser-output .navbox{display:none!important}}


/* end https://en.wikipedia.org/ */
</style></div><div role="navigation" class="navbox" aria-labelledby="Numerical_linear_algebra64" style="padding:3px"><table class="nowraplinks mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><style data-mw-deduplicate="TemplateStyles:r1239400231">
/* start https://en.wikipedia.org/ */


.mw-parser-output .navbar{display:inline;font-size:88%;font-weight:normal}.mw-parser-output .navbar-collapse{float:left;text-align:left}.mw-parser-output .navbar-boxtext{word-spacing:0}.mw-parser-output .navbar ul{display:inline-block;white-space:nowrap;line-height:inherit}.mw-parser-output .navbar-brackets::before{margin-right:-0.125em;content:"[ "}.mw-parser-output .navbar-brackets::after{margin-left:-0.125em;content:" ]"}.mw-parser-output .navbar li{word-spacing:-0.125em}.mw-parser-output .navbar a>span,.mw-parser-output .navbar a>abbr{text-decoration:inherit}.mw-parser-output .navbar-mini abbr{font-variant:small-caps;border-bottom:none;text-decoration:none;cursor:inherit}.mw-parser-output .navbar-ct-full{font-size:114%;margin:0 7em}.mw-parser-output .navbar-ct-mini{font-size:114%;margin:0 4em}html.skin-theme-clientpref-night .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}@media(prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}}@media print{.mw-parser-output .navbar{display:none!important}}


/* end https://en.wikipedia.org/ */
</style><div id="Numerical_linear_algebra64" style="font-size:114%;margin:0 4em"><a href="Numerical_linear_algebra" title="Numerical linear algebra">Numerical linear algebra</a></div></th></tr><tr><th scope="row" class="navbox-group" style="width:1%">Key concepts</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Floating_point" class="mw-redirect" title="Floating point">Floating point</a></li>
<li><a href="Numerical_stability" title="Numerical stability">Numerical stability</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Problems</th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="System_of_linear_equations" title="System of linear equations">System of linear equations</a></li>
<li><a href="Matrix_decomposition" title="Matrix decomposition">Matrix decompositions</a></li>
<li><a href="Matrix_multiplication" title="Matrix multiplication">Matrix multiplication</a> (<a href="Matrix_multiplication_algorithm" title="Matrix multiplication algorithm">algorithms</a>)</li>
<li><a href="Matrix_splitting" title="Matrix splitting">Matrix splitting</a></li>
<li><a href="Sparse_matrix" title="Sparse matrix">Sparse problems</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Hardware</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="CPU_cache" title="CPU cache">CPU cache</a></li>
<li><a href="Translation_lookaside_buffer" title="Translation lookaside buffer">TLB</a></li>
<li><a href="Cache-oblivious_algorithm" title="Cache-oblivious algorithm">Cache-oblivious algorithm</a></li>
<li><a href="Single_instruction%2C_multiple_data" title="Single instruction, multiple data">SIMD</a></li>
<li><a href="Multiprocessing" title="Multiprocessing">Multiprocessing</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Software</th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Automatically_Tuned_Linear_Algebra_Software" title="Automatically Tuned Linear Algebra Software">ATLAS</a></li>
<li><a href="MATLAB" title="MATLAB">MATLAB</a></li>
<li><a href="Basic_Linear_Algebra_Subprograms" title="Basic Linear Algebra Subprograms">Basic Linear Algebra Subprograms (BLAS)</a></li>
<li><a href="LAPACK" title="LAPACK">LAPACK</a></li>
<li><a href="Comparison_of_linear_algebra_libraries" title="Comparison of linear algebra libraries">Specialized libraries</a></li>
<li><a href="Comparison_of_numerical-analysis_software" title="Comparison of numerical-analysis software">General purpose software</a></li></ul>
</div></td></tr></tbody></table></div></div><!--htdig_noindex--><div><div class="zim-footer">
This article is issued from <a class="external text" title="Last edited on 2025-05-26" href="https://en.wikipedia.org/wiki/?title=Eigenvalue_algorithm&amp;oldid=1292279373">Wikipedia</a>. The text is available under <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en">Creative Commons Attribution-Share Alike 4.0</a> unless otherwise noted. Additional terms may apply for the media files.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>

</body></html>